什么是 Nodejs 加密的最短哈希值
What is the shortest hash with Nodejs crypto
nodejs 加密模块中最短的字符串哈希算法是什么?有没有类似于 crc32 的东西,它产生 8 个字符的字符串,但不幸的是 crypto 本身不支持(我知道有外部模块,但我仅限于内置 crypto)。哈希冲突概率对我的应用程序(缓存突发)并不重要。
您可以使用像 shake256
这样的 XOF 散列函数,它支持 outputLength
选项(以字节为单位):
const crypto = require("crypto");
function createHash(data, len) {
return crypto.createHash("shake256", { outputLength: len })
.update(data)
.digest("hex");
}
console.log(createHash("foo", 2))
// 1af9
console.log(createHash("foo", 8))
// 1af97f7818a28edf
nodejs 加密模块中最短的字符串哈希算法是什么?有没有类似于 crc32 的东西,它产生 8 个字符的字符串,但不幸的是 crypto 本身不支持(我知道有外部模块,但我仅限于内置 crypto)。哈希冲突概率对我的应用程序(缓存突发)并不重要。
您可以使用像 shake256
这样的 XOF 散列函数,它支持 outputLength
选项(以字节为单位):
const crypto = require("crypto");
function createHash(data, len) {
return crypto.createHash("shake256", { outputLength: len })
.update(data)
.digest("hex");
}
console.log(createHash("foo", 2))
// 1af9
console.log(createHash("foo", 8))
// 1af97f7818a28edf