【发布时间】:2017-09-26 10:53:22
【问题描述】:
我自己尝试对使用以下函数散列的字符串进行散列处理
function hashCode(a) {
var b, c, d = 0;
if (0 == a.length) return d;
for (b = 0, l = a.length; l > b; b++) c = a.charCodeAt(b), d = (d << 5) - d + c, d |= 0;
return d
}
谁能帮我解决这个问题?是否可以创建反向函数来获取未散列的字符串?
【问题讨论】:
-
哈希并不是真正可逆的。为什么需要这样做?
-
我正在为客户的 goodbarber 应用程序制作一个插件,并且有一个列表(最喜欢的项目)存储在 web 的 localStorage 中(开发时),但在移动设备中使用另一种存储解决方案(当部署)。问题是我可以直接将键和值设置为 localStorage 但对于设备,我需要知道键名才能加载/保存收藏的项目。
-
为什么使用哈希作为键名?这是什么其他存储解决方案?
-
键名用于从存储中检索值。这个goodbarber 是一个允许用户创建混合应用程序的框架。我现在在 web 中开发,它使用 localStorage 作为“用户默认值”,但我不知道在移动设备中执行应用程序时它使用什么。
-
所以你的意思是这个 goodbarber 东西本身会创建这个哈希?
标签: javascript hash