我正在寻找具有以下属性的哈希函数
很高兴得到一些想法。
答案 0 :(得分:-1)
如果您不喜欢这种“解决方案”,请解释为什么不这样做,您会得到更好的答案。
获取ASCII码表并丢弃非字符(例如'bell')的代码,您将剩下大约100个字符。
在字符和2位数字之间建立1:1映射,例如,您可以以
开头space <-> 00
! <-> 01
A <-> 33
...
Z <-> 58
...
a <-> 65
我希望你能明白。现在,以显而易见的方式对字符串中的前32个(或任何其他字符)进行编码,例如
`Aa aa` -> `3365006565`
,并用00
填充所有少于32个字符的字符串。 (我不必为示例输入所有的00
。)
生成[1,64]
范围内的随机数,并使用该数将数字字符串向左旋转该位数。
在左边剩下的小数点上加一个小数点,您便会找到所需的实数。
我相信这可以满足您的要求。