- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 xxHash 从元素 id 创建哈希。我只是不想在网站上显示真实身份。我创建了脚本来测试是否有获取相同哈希值的选项:
const _ = require('lodash');
const XXH = require('xxhashjs');
let hashes = []
let uniq_hashes = []
for(let i = 0; i < 1000000; i++){
var h = XXH.h32(i.toString(), 0xABCD).toString(16)
hashes.push(h)
}
uniq_hashes = _.uniq(hashes)
console.log(hashes.length, uniq_hashes.length);
脚本中的日志是 1000000 999989
,因此一些哈希是相同的。 xxHash 的工作方式是否正确?
此外,第一对是 '1987' 和 '395360'
如果我需要真正独特的哈希值(无加密),我应该使用什么?
最佳答案
根据生日悖论,您应该在 1:16^2 或 10^6/2^16 = ~15 左右看到碰撞,所以 11 次碰撞似乎是正确的。 (注意:数学被大大简化了,请参阅 Birthday problem 以获得良好的数学。)
减少冲突次数会增加散列大小并使用加密散列,例如 SHA-256。加密哈希函数旨在避免冲突。
关于javascript - 对 xxHash 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49403655/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!