小编Kin*_*lia的帖子

为什么NaN和Inf-Inf的哈希值不同?

我经常使用这个哈希函数,即记录数据帧的值.想看看我是否能打破它.为什么这些哈希值不相同?

这需要摘要包.

纯文本输出:

> digest(Inf-Inf)
[1] "0d59b2dae9351c1ce6c76133295322d7"
> digest(NaN)
[1] "4e9653ddf814f0d16b72624aeb85bc20"
> digest(1)
[1] "6717f2823d3202449301145073ab8719"
> digest(1 + 0)
[1] "6717f2823d3202449301145073ab8719"
> digest(5)
[1] "5e338704a8e069ebd8b38ca71991cf94"
> digest(sum(1, 1, 1, 1, 1))
[1] "5e338704a8e069ebd8b38ca71991cf94"
> digest(1^0)
[1] "6717f2823d3202449301145073ab8719"
> 1^0
[1] 1
> digest(1)
[1] "6717f2823d3202449301145073ab8719"
Run Code Online (Sandbox Code Playgroud)

额外的怪异.等于NaN的计算具有相同的哈希值,但NaN的哈希值不等效:

> Inf - Inf
[1] NaN
> 0/0
[1] NaN
> digest(Inf - Inf)
[1] "0d59b2dae9351c1ce6c76133295322d7"
> digest(0/0)
[1] "0d59b2dae9351c1ce6c76133295322d7"
> digest(NaN)
[1] "4e9653ddf814f0d16b72624aeb85bc20"    
Run Code Online (Sandbox Code Playgroud)

math hash r digest

21
推荐指数
2
解决办法
1063
查看次数

标签 统计

digest ×1

hash ×1

math ×1

r ×1