【发布时间】:2019-08-21 01:57:14
【问题描述】:
我在下面有这个哈希函数。
我知道对于长度为 8 的输入字符串,我得到一个值为 16530092119764772 的哈希
输入字符串只能由字符“abcdefghijklmnop”组成
查找输入字符串的最佳方法是什么?
有没有一种方法可以在数学上分解问题而不依赖于蛮力方法来查找字符串?
递归解决方案会溢出堆栈吗?
function hash(str) {
let g = 8;
let charset = "abcdefghijklmnop";
for(let i = 0; i < str.length; i++) {
g = (g * 82 + charset.indexOf(str[i]));
}
return g;
}
作为字符串“agile”的示例,它的哈希值为 29662550362
【问题讨论】:
标签: javascript reverse-engineering brute-force hash-function