javascript - javascript 中的 btoa() 可以帮助我应对哪些安全威胁?

标签 javascript base64

假设我有一个身份验证方法,我可以通过 http post 从服务器获取 token :

$http({
     method: 'POST',
     url: '/Token',
     processData: false,
     contentType: 'application/x-www-form-urlencoded',
     data: "grant_type=password&username=" + UserName + "&password=" + Password
...

这里我以明文形式发送用户名和密码。

如果我使用 JavaScript 函数 btoa() 来加密我的用户名和密码(该函数很好用,建议使用 How can you encode a string to Base64 in JavaScript? ),如下所示:

$http({
     method: 'POST',
     url: '/Token',
     processData: false,
     contentType: 'application/x-www-form-urlencoded',
     data: "grant_type=password&username=" + btoa(UserName) + "&password=" + btoa(Password)
...

这对我真正帮助我应对哪些安全威胁?我的意思是,事实上,我网站上的任何人都可以访问我的 javascript 代码,因此可以找到调用 btoa() 的脚本。然后他们可以使用 atob() 解密用户名和密码,然后我又回到了第一步。

最佳答案

btoa() and atob()函数不提供任何安全改进,因为它们不加密/解密,而只是将数据编码/解码为文本表示并返回到原始外观。通常这些函数用于二进制数据,如图像等。

使用 btoa() 编码的字符串,任何人都可以使用其相反的函数轻松对其进行解码。听起来不安全,是吗;)

关于javascript - javascript 中的 btoa() 可以帮助我应对哪些安全威胁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549279/

相关文章:

html - 如何不在 img 和标签中复制相同的 base64 图像(例如在灯箱中显示)

android - 字符串图像base64避免JSON对象中包含其他数据(android java)

javascript - 循环遍历数组检查indexOf更简单吗?

javascript - 使用 javascript 和 css 自定义下拉框

javascript - 当第二个模式关闭时第一个模式滚动隐藏

javascript - Express : No data received in final step 的链式 promise

ruby - 从 base64 数据创建图像文件

javascript - 提取并添加指向字符串中 URL 的链接

html - Unix sendmail - html 嵌入图像不工作

Python:如何从二进制转换为 base 64 并返回?