AngularJS中的密码加密
我有一个登录页面。当用户给出用户名和密码时,我想加密密码并将其发送到服务器。我正在使用angular js应用程序,所以我也想用angular编写代码。请使用HTTPS将其发送到服务器,然后在服务器端对其进行加密/解密。出于安全原因,您不希望前端进行任何加密,这可能会导致严重的安全漏洞。使用HTTPS将其发送到服务器,然后在服务器端对其进行加密/解密。出于安全原因,您不希望前端进行任何加密,这可能会导致严重的安全漏洞。使用以下ngEncryption factory,您可以加密Controller.js文件中的数据并将其传递给apicontroller。我正在使用公钥和私钥对数据进行加密/解密。这些密钥可以在Global.asax.cs文件中的Session_Start()事件中生成AngularJS中的密码加密,angularjs,Angularjs,我有一个登录页面。当用户给出用户名和密码时,我想加密密码并将其发送到服务器。我正在使用angular js应用程序,所以我也想用angular编写代码。请使用HTTPS将其发送到服务器,然后在服务器端对其进行加密/解密。出于安全原因,您不希望前端进行任何加密,这可能会导致严重的安全漏洞。使用HTTPS将其发送到服务器,然后在服务器端对其进行加密/解密。出于安全原因,您不希望前端进行任何加密,这可能会导致严重的安全漏洞。使用以下ngEncryption factory,您可以加密Controlle
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);
}
};
});
app.factory
('ngEncryption',函数(){
返回{
加密:函数(dataForEncrypt){
jsRequest={};
var str=dataForEncrypt;
var xmlParams=$.cookie('ClientPublicKey');
//创建RSACryptoServiceProvider的新实例。
var rsa=new System.Security.Cryptography.RSACryptoServiceProvider();
var reqArray=[];
var重新排列=200;
如果(str.length<重新排列){
var data=System.Text.Encoding.UTF8.GetBytes(str);
//从xml导入参数。
rsa.FromXmlString(xmlParams);
//加密数据(使用OAEP填充)。
var encryptedBytes=rsa.Encrypt(数据,true);
//将加密数据转换为Base64。
var encryptedString=System.Convert.ToBase64String(encryptedBytes)
//用加密数据替换普通密码。
请求数组推送(加密字符串);
//中断;
}
否则{
var MaxCounterHeader=parseInt(Math.ceil(parseFloat(str.length/200));
对于(i=0;i200?200:str.length);
var data=System.Text.Encoding.UTF8.GetBytes(新闻字符串);
rsa.FromXmlString(xmlParams);
var encryptedBytes=rsa.Encrypt(数据,true);
//将加密数据转换为Base64。
var encryptedString=System.Convert.ToBase64String(encryptedBytes)
请求数组推送(加密字符串);
str=str.replace(新闻字符串“”);
}
}
返回JSON.stringify(reqArray);
}
};
});
使用以下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);
}
};
});
app.factory
('ngEncryption',函数(){
返回{
加密:函数(dataForEncrypt){
jsRequest={};
var str=dataForEncrypt;
var xmlParams=$.cookie('ClientPublicKey');
//创建RSACryptoServiceProvider的新实例。
var rsa=new System.Security.Cryptography.RSACryptoServiceProvider();
var reqArray=[];
var重新排列=200;
如果(str.length<重新排列){
var data=System.Text.Encoding.UTF8.GetBytes(str);
//从xml导入参数。
rsa.FromXmlString(xmlParams);
//加密数据(使用OAEP填充)。
var encryptedBytes=rsa.Encrypt(数据,true);
//将加密数据转换为Base64。
var encryptedString=System.Convert.ToBase64String(encryptedBytes)
//用加密数据替换普通密码。
请求数组推送(加密字符串);
//中断;
}
否则{
var MaxCounterHeader=parseInt(Math.ceil(parseFloat(str.length/200));
对于(i=0;i200?200:str.length);
var data=System.Text.Encoding.UTF8.GetBytes(新闻字符串);
rsa.FromXmlString(xmlParams);
var encryptedBytes=rsa.Encrypt(数据,true);
//将加密数据转换为Base64。
var encryptedString=System.Convert.ToBase64String(encryptedBytes)
请求数组推送(加密字符串);
str=str.replace(新闻字符串“”);
}
}
返回JSON.stringify(reqArray);
}
};
});
最好使用https在服务器上发送安全数据和加密。
如果仍要在客户端代码中加密,则可以使用SHA256、SHA1或MD5。很多都有。Angular crypto提供了许多JS。
在html页面中包含对JS的引用,并在控制器的行下方包含对JS的引用
CryptoJS.SHA1($scope.newCustomer.password)
为了获得良好的安全性,在服务器端对哈希密码进行加密。最好使用https在服务器上发送安全数据和加密。 如果仍要在客户端代码中加密,则可以使用SHA256、SHA1或MD5。很多都有。Angular crypto提供了许多JS。 在html页面中包含对JS的引用,并在控制器的行下方包含对JS的引用
CryptoJS.SHA1($scope.newCustomer.password)
为了更好的安全性,在服务器端对散列密码进行加密。您在寻找https吗?@KISHAN PATI我建议您不要使用angular加密密码,使用您的后端技术java或您正在使用的任何东西不要加密密码,通过HTTPS发送,并让后端完成它的工作。您可以使用
angularjs crypto
加密和解密密码,在将密码发送到服务器之前加密密码可以实现什么?什么