我有一個登錄頁面。當用戶提供用戶名和密碼時,我想要加密密碼並將其發送到服務器。我正在使用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