我有一个登录页面。当用户提供用户名和密码时,我想要加密密码并将其发送到服务器。我正在使用angular js应用程序,所以我想在角度中编写代码。请AngularJS中的密码加密
0
A
回答
5
使用HTTPS将其发送到服务器,然后加密/解密它的服务器端。出于安全原因,您不希望前端进行任何加密,这可能导致严重的安全漏洞。
-2
使用以下ngEncryption工厂,您可以在Controller.js文件中加密您的数据并将其传递给apicontroller。我正在使用公用 - 专用密钥来加密/解密数据。这些密钥可以在Global.asax.cs文件中的Session_Start()事件中生成。
app.factory
('ngEncryption', function() {
return {
encrypt: function (dataForEncrypt) {
jsRequest = {};
var str = dataForEncrypt;
var xmlParams = $.cookie('ClientPublicKey');
// Create a new instance of RSACryptoServiceProvider.
var rsa = new System.Security.Cryptography.RSACryptoServiceProvider();
var reqArray = [];
var reqArraySize = 200;
if (str.length < reqArraySize) {
var data = System.Text.Encoding.UTF8.GetBytes(str);
// Import parameters from xml.
rsa.FromXmlString(xmlParams);
// Encrypt data (use OAEP padding).
var encryptedBytes = rsa.Encrypt(data, true);
// Convert encrypted data to Base64.
var encryptedString = System.Convert.ToBase64String(encryptedBytes)
// Replace plain password with encrypted data.
reqArray.push(encryptedString);
//break;
}
else {
var MaxCounterHeader = parseInt(Math.ceil(parseFloat(str.length/200)));
for (i = 0; i < MaxCounterHeader; i++) {
var newstring = str.substr(0, str.length > 200 ? 200 : str.length);
var data = System.Text.Encoding.UTF8.GetBytes(newstring);
rsa.FromXmlString(xmlParams);
var encryptedBytes = rsa.Encrypt(data, true);
// Convert encrypted data to Base64.
var encryptedString = System.Convert.ToBase64String(encryptedBytes)
reqArray.push(encryptedString);
str = str.replace(newstring, '');
}
}
return JSON.stringify(reqArray);
}
};
});
0
它更好地使用https发送安全数据和服务器上的加密。 如果您仍想要在客户端代码中进行加密,则可以使用SHA256或SHA1或MD5。许多可用。 Angular-crypto提供了许多JS。 在html页面中包含对JS的引用,并在控制器中包含下面的行。
CryptoJS.SHA1($scope.newCustomer.password)
为了良好的安全性,在服务器端,SALT您的哈希密码。
+1
“SHA256或SHA1或MD5”都不是加密,它们是单向加密散列函数。另外:只需将一个盐添加到散列函数对提高安全性没有多大作用。取而代之的是用随机盐对HMAC进行大约100毫秒的持续时间并用散列表保存盐。使用诸如password_hash,PBKDF2,Bcrypt和类似函数的函数。关键是要让攻击者花费大量时间通过强力查找密码。 – zaph
相关问题
- 1. 加密App.config中的密码
- 2. Delphi中的密码加密
- 3. Jackrabbit中的密码加密
- 4. 在VBA密码框中加密密码
- 5. 加密密码
- 6. 加密密码
- 7. 密码加密
- 8. 加密密码
- 9. 加密密码
- 10. 密码加密
- 11. 密码加密
- 12. 密码加密
- 13. 未加密密码的加密密码用户群
- 14. PHP - 解密加密密码
- 15. 加密密码FOSUserBundle
- 16. QML密码加密
- 17. python密码加密?
- 18. Acegi密码加密
- 19. cordova密码加密
- 20. Java密码加密
- 21. C#加密密码
- 22. 用法:“EncryptUtil encrypt”密码密码:要加密的明文密码
- 23. 密码加密和密码存储 - Perl
- 24. 加密的NodeJS密码
- 25. 散列密码的加密?
- 26. SSL证书加密与密码加密
- 27. 存储加密密码和salt或仅存储加密密码?
- 28. 在C源代码中加密密码
- 29. 将md5加密的密码转换为解密的密码wordpress
- 30. 加密和解密密码的WebSphere
你在找https吗? – Weedoze
@KISHAN PATI我想建议你不要使用angular来加密你的密码 使用你的后端技术java或你正在使用的是什么 –
不要加密它,通过HTTPS发送它并让后端完成它的工作。 – dfsq