将md5哈希转换为R中的bigint

时间:2015-09-18 12:12:52

标签: r hash md5 digest

我想知道如何将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转换为一个大整数,并能够将模数运算符(%%)应用于它。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

使用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库。有关详细信息,请参阅注释。