随机生成的本地存储密钥
Randomly generated localstorage keys
我正在创建一些需要许多本地存储密钥的东西。因此,我希望使用Math.floor随机生成一个用户密钥。
我使用了以下内容来保存本地存储密钥
var randomnumber = Math.floor((Math.random()*100000000)+1)
var randomnumberstringify = String(randomnumber)
function savebox(id) {
var answer = document.getElementById('box').value;
document.write(randomnumberstringify);
localStorage.setItem(randomnumberstringify, answer);
}
和下面加载密钥
function loadbox() {
if (localStorage.getItem(randomnumberstringify)) {
var answer = localStorage.getItem(randomnumberstringify);
}
else {
var answer = ' ';
}
document.getElementById('box').value = answer;
}
但是,正如您所看到的,加载函数使用"随机数字符串化"。这是另一个随机数
所以基本上你用一个随机数保存并加载另一个随机数(显然不存在(
有没有更好的方法使用随机数作为加载键和保存键?
如果load
和save
调用发生在同一浏览器会话中,并且randomnumberstringify
密钥存在于 save
函数和load
函数都可以访问的作用域中,并且不会为该作用域重新创建,则使用此方法应该没问题。
但是,您尝试做的是将本地存储用作持久存储单元,这意味着您希望在不同的页面加载或不同的浏览器会话中访问给定用户的相同数据,其中在每次加载中,javascript 变量空间都会被删除。
如果您的情况是后者,则应使用哈希函数生成密钥,并使用用户依赖字符串生成哈希函数,以便每次最终为相同的用户生成相同的密钥。
例如,假设您在 JavaScript 环境中定义了 sha1 哈希函数
var randomnumberstringify = sha1('username');
此密钥生成方法允许您每次都为同一用户获取相同的密钥。而且,您可以毫无问题地设置和仅获取相关数据。
在这里 :http://www.webtoolkit.info/javascript-sha1.html 你可以找到哈希函数 SHA1 的 javascript 实现。
相关文章:
- API密钥使用和检查示例
- react.js中的密钥绑定
- JS对象密钥序列
- 似乎无法使用javascript从AWS 3S中删除密钥
- Javascript File将存储密钥渲染到onload方法中
- 将本地存储密钥添加到下拉列表中
- 本地存储密钥有哪些限制
- 随机生成的本地存储密钥
- 如何在BB10网络上存储访问密钥
- 正在将本地存储密钥保存到MySQL中
- 使用javascript将数组存储为json中的密钥对
- 刷新后如何在本地存储中呈现所有密钥
- 客户端的本地存储或cookie密钥名称
- 什么'使用cryptojs的最佳选择是将密钥存储在客户端和服务器端,还是生成密钥并以某种方式传递给另一端
- 如何在没有特定密钥的情况下删除本地存储内容
- 如果存在's本地存储中没有密钥
- 推阵;将多个值存储到单个密钥中
- 在chrome存储API集合调用中使用的密钥是否可以是变量
- 是否有本地存储解决方案可以自动使旧密钥过期
- 我可以使用Javascript搜索HTML5本地存储的部分密钥吗?