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

Rag*_*hav 10 javascript encryption url

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

我想保持查询字符串中的键和值都不容易被最终用户看到.我有这样的东西,google.com/?category=textile&user=user1 我需要让它像这样难以理解:google.com/?kasjdhfkashasdfsf32423

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

我已经看过这个这个.

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

编辑

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

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

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

Seb*_* C. 17

你可以使用base64.Javascript具有本机功能:

alert(btoa("category=textile&user=user1")); // ==> Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx
Run Code Online (Sandbox Code Playgroud)

并扭转它:

alert(atob("Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx")); // ==> category=textile&user=user1
Run Code Online (Sandbox Code Playgroud)

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

  • base64不加密,它的编码:/ (11认同)
  • 有太多在线工具可以解码base64,因此数据根本不安全。不推荐base64 (2认同)

ole*_*rch 7

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

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

这足以使您的URL中的键/值略微混淆.

  • 如果你需要更强大的数字和"加密"数字 - 我建议使用Rot47:http://rot47.net/ (2认同)
  • rotrow不会生成URL中不允许的字符吗? (2认同)