javascript - 如何在 javascript 中编码/解码 URL 参数?

标签 javascript url encryption

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

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

有什么办法可以在 javascript 中实现这一点。这个我已经看过了

我已经看到了thisthis .

但我不认为编码能解决问题。此外,此代码完全在客户端。我知道它不安全,但我只需要这是一种幼稚、薄弱的防御。 请帮忙。

编辑

如果我之前的问题不清楚,我深表歉意。

URL google.com/?category=textile&user=user1 正在从不同的应用程序传递。

查询字符串中传递的值直接控制向用户显示的内容。事实上,任何没有技术知识的人都可以轻松更改值并查看与不同类别或用户对应的数据。我需要让它变得难以理解,这样它就不明显了。如果用户是技术人员并弄清楚所使用的加密方式,那就没问题了。在我们拥有更好的架构之前,我需要一个权宜之计

最佳答案

您可以使用 base64。 Javascript 具有执行此操作的 native 函数:

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

关于javascript - 如何在 javascript 中编码/解码 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819407/

相关文章:

javascript - 使用greasemonkey重定向到域中的页面

asp.net-mvc - 为 MVC 创建 Web 导航帮助器类

url - curl (3) URL 使用错误/非法格式或缺少 URL

algorithm - 在设计加密算法时,决定算法功能的关键因素是什么?

php - 密码哈希方法

javascript - 如何制作 Shiny 的按钮动画?

javascript - 数字串不能以零开头。其他解决方案?

Java HttpURLConnection 使用弱密码连接

JavaScript 全局化 : How to compare two dates?

javascript - AngularJS 服务初始化并获取第三方组件