当前位置:  开发笔记 > 编程语言 > 正文

在JavaScript中使用两种方法散列JSON字符串以在URL中使用

如何解决《在JavaScript中使用两种方法散列JSON字符串以在URL中使用》经验,为你挑选了1个好方法。

我想采用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并再次解码.

这是最好的方法吗?如果不是,有什么更好的方法?



1> Nayish..:

使用encodeURIComponent()编码它的网址

要解码使用该decodeURIComponent()功能

Base64不是URL安全的,因为它可以包含非URL字符,如/ + - .(见这个问题)

如果你想让你的网址与原始字符串不太相似,你可以先转换为base64,然后通过解码编码和反转,并从基础64开始重新编码

// to url
encodeURIComponent(btoa(str))

// from url
atob(decodeURIComponent(uri))

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有