在 R 中将 md5 哈希转换为 bigint

Convert md5 hash to bigint in R

我想知道如何将 md5 哈希值转换为大整数,以便我可以对其应用取模运算符。

我使用 digest 库创建哈希:

h <- digest("luca", algo="md5", ascii=TRUE, raw=TRUE)
> h
[1] 18 0e 41 2e 42 db 5a 8c 45 3c 8a 81 c5 90 4e 5b

我现在想将 h 转换为一个大整数,并能够对其应用取模运算符 (%%)。

我该怎么做?

使用 Rmpfr 库1,以下工作:

# Get a hex string of the MD5 hash:
h = digest("luca", algo="md5", ascii = TRUE, raw = FALSE)
result = mpfr(h, base = 16)
result
# 1 'mpfr' number of precision  128   bits
# [1] 31975486076668374554448903959384968795

result %% 1024
# 1 'mpfr' number of precision  128   bits
# [1] 603

1 要安装 Rmpfr,需要安装它的依赖项,即 GNU mpfr 库。请参阅评论以获取更多信息。