Iza*_*eña 3 javascript encryption node.js express angularjs
我想加密客户端上的密码(angular.js),将其发送到服务器(express.js)并在服务器上解密.我想要一个简单的方法.我使用$ http来POST请求.我知道退出angular-bcrypt库和nodeJS中的相同,但对我来说不值得,因为它只有方法比较.
我想要这样的东西:
password = document.getElementById('txtPassword').value;
var xorKey = 129; /// you can have other numeric values also.
var result = "";
for (i = 0; i < password.length; ++i) {
result += String.fromCharCode(xorKey ^ password.charCodeAt(i));
}
Run Code Online (Sandbox Code Playgroud)
但是,我只在c#中找到了解密方法:
public bool Authenticate(string userName, string password)
{
byte result = 0;
StringBuilder inSb = new StringBuilder(password);
StringBuilder outSb = new StringBuilder(password.Length);
char c;
for (int i = 0; i < password.Length; i++)
{
c = inSb[i];
c = (char)(c ^ 129); /// remember to use the same XORkey value you used in javascript
outSb.Append(c);
}
password = outSb.ToString();
// your rest of code
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?非常感谢你.:P
geo*_*awg 15
密码永远不应该被解密.它们应该使用单向加密进行散列.服务器应提供一个nonce,以便客户端在每次登录时返回不同但可验证的答案.
所有密码都应进行哈希,盐渍和拉伸.如果可以解密,则不安全.请参阅严重安全性:如何安全地存储用户密码.
我最喜欢的答案:
您需要一个可以在客户端加密输入并以加密形式将其传输到服务器的库.
您可以使用以下库:
- jCryption.Javascript上的客户端 - 服务器非对称加密
3年后更新:
4年后更新(Wohoo!)
还是不相信?我也不 :)
- OpenPGP.JS - 将OpenPGP格式放在任何地方 - 在JS中运行,以便您可以在Web应用程序,移动应用程序等中使用它.
也可以看看:
更新2017年3月:考虑获得免费的SSL证书
https://letsencrypt.org/about/
| 归档时间: |
|
| 查看次数: |
26271 次 |
| 最近记录: |