我想获取一个 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 '安全'”字符串,该字符串出于虚荣目的而进行哈希处理,如上所示。
我对加密/编码的了解有限,但是我考虑过简单地将字符串编码为 Base64 并再次解码。
这是最好的方法吗?如果没有更好的方法是什么?
Use encodeURIComponent()对 url 进行编码
要解码,请使用decodeURIComponent()功能
Base64 不是 URL 安全的因为它可以包含非 url 字符,例如 / + -。(看这个问题)
如果您希望您的 url 与原始字符串不太相似,您可以先转换为 Base64,然后通过解码并从 Base 64 转换回来进行编码和反转
// to url
encodeURIComponent(btoa(str))
// from url
atob(decodeURIComponent(uri))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)