用于URL的JavaScript中的双向哈希JSON字符串
Two way hashing JSON String in JavaScript for use in URL
我想获取一个JSON字符串并对其进行加密/哈希/编码,这样我就可以将其放入URL中,使其类似于下面所示的内容:
var stringToEncode = JSON.stringify({foo: 'baz', bar: [1,2,3,4,5], baz: {fizzle: 'buzz'}});
'www.myrandomurl.com/someurl/123fas234asf1543rasfsafda'
然后,我想获取加密/哈希/编码的字符串,并将其解码回其原始JSON字符串,这样我就可以使用它绑定到单个页面AngularJS应用程序上的各种元素。
JSON字符串的内容不敏感,因此不需要安全性或复杂的哈希。唯一的条件是它需要是一个"URL/URI'safe'"字符串,该字符串被散列以达到如上所述的虚荣目的。
我对加密/编码的了解有限,但我曾想过简单地将字符串编码到Base64并再次解码。
这是最好的方法吗?如果不是,还有什么更好的方法?
使用encodeURIComponent()
对url 进行编码
使用decodeURIComponent()
功能进行解码
Base64不是URL安全的,因为它可以包含非URL字符,如/+-。(见此问题)
如果你想让你的url与原始字符串不太相似,你可以先转换到base64,然后通过解码和从base64 返回编码和反向
// to url
encodeURIComponent(btoa(str))
// from url
atob(decodeURIComponent(uri))
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 如何在浏览器重新加载时保存位置哈希状态
- jQuery scrollTop-哈希错误
- 动态添加哈希标记;t工作
- 在Javascript中实现对哈希值的暴力攻击
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 可以在React Native中制作一个自哈希应用程序
- 重定向不带哈希的URL-Ember.JS
- 正在测试主干事件哈希
- Python Javascript哈希库,以确保JSON对象在传输过程中不会损坏
- 用于URL的JavaScript中的双向哈希JSON字符串
- 如何从JSON哈希创建HTML选择选项
- JSON在URL哈希-一个坏的或好的主意
- 在javascript中对json哈希进行迭代
- jQuery根据JSON列表更改页面内容和哈希
- 将数组的数组重组为哈希数组并转换为JSON