gpt4 book ai didi

javascript - 为 20 位数字间隔生成唯一且可逆的 ID

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:54 25 4
gpt4 key购买 nike

我想从代表数字的字符串中生成一个新的唯一的 20 位数字字符串

例如:

 var uid = key.pseudoHash("00000000000000000000"), // "45021-78054-45021-16875"
uid = key.pseudoHash("00000000000000000001"), // "15751-40213-97315-65348"
..
uid = key.pseudoHash("99999999999999999999"); // "01197-95791-58880-58368"

我怎样才能拥有这个不产生碰撞并且可以逆转的伪哈希函数?

最佳答案

许多方法中的一种是使用简单的 substitution cipher :

// guaranteed random!
var key = [1, 3, 3, 1, 8, 3, 5, 7, 2, 9, 0, 2, 8, 2, 9, 7, 7, 8, 1, 7];

function test(str) {
str = str.split("");
for(var i = 0; i < str.length; i++) {
str[i] = (Number(str[i]) + key[i]) % 10
}
return str.join("");
}

console.log(test("00000000000000000000")); // 13318357290282977817
console.log(test("00000000000000000001")); // 13318357290282977818
console.log(test("99999999999999999999")); // 02207246189171866706

为了更随机,你可以添加更多confusion and diffusion步骤。

这很容易被任何人逆转。对于安全算法,请研究密码学。

关于javascript - 为 20 位数字间隔生成唯一且可逆的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31235817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com