javascript中的btoa()可以帮助我解决哪些安全威胁

What security threats does btoa() in javascript help me with?

本文关键字:解决 威胁 安全 帮助 btoa 中的 javascript      更新时间:2024-04-17

假设我有一种身份验证方法,在该方法中,我发布http以从服务器获取令牌:

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

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

如果我改为使用javascript函数btoa()加密我的用户名和密码(这是一个很好的使用和推荐使用的函数。你如何用javascript将字符串编码为Base64?)

$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()和atob()函数没有提供任何安全性改进,因为它们不是加密/解密的,只是将数据编码/解码为文本表示并返回到原始外观。通常函数用于二进制数据,如图像等。

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