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

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

假设我有一个身份验证方法,我执行 http post 从服务器获取令牌:

$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() 函数不提供任何安全改进,因为它们不是 encrypt/decrypt,而只是 encode/decode 数据到文本表示并返回原始外观。通常这些函数用于二进制数据,如图像等。

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