如何在javascript中加密/解密URL参数?

时间:2013-11-06 18:03:38

标签: javascript url encryption

在任何人跳进去说“哦!!这是一个坏主意”之前,我知道它是。

我希望查询字符串中的键和值都不容易被最终用户看到。 我有这样的事情google.com/?category=textile&user=user1 我需要让它变得难以理解:google.com/?kasjdhfkashasdfsf32423

有没有办法在javascript中实现这一点。我已经看过了这个

我已经看过thisthis

但我不认为编码会解决问题。此外,此代码完全在客户端。我知道这不安全但我只需要这是一个天真的,弱的防守。 请帮忙。

修改

如果我的问题不清楚,我道歉。

网址google.com/?category=textile&user=user1正在从其他应用程序传递。

查询字符串中传递的值直接控制向用户显示的内容。因此,任何没有技术知识的人都可以轻松更改值并查看与不同类别或用户相对应的数据。我需要让它变得难以理解,这样才不明显。如果用户是技术人员并且计算出所使用的加密,那么它很好。我需要一个止损解决方案,直到我们有一个更好的架构

2 个答案:

答案 0 :(得分:14)

您可以使用base64。 Javascript具有本机功能:

alert(btoa("category=textile&user=user1")); // ==> Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx

并扭转它:

alert(atob("Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx")); // ==> category=textile&user=user1

如果你有unicode字符串,请小心阅读文档,它有点不同:https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa

答案 1 :(得分:7)

如果您不寻找严重的强加密,可以使用ROT13:

http://en.wikipedia.org/wiki/ROT13

这足以让您的网址中的密钥/值略微混淆。