ログインページが1つあります。ユーザーがユーザー名とパスワードを入力すると、パスワードを暗号化してサーバーに送信します。私は角度のjsアプリケーションを使用しているので、私は角度でもそのコードを書いてみたい。AngularJSでのパスワードの暗号化
答えて
HTTPSを使用してサーバーに送信し、サーバー側で暗号化/復号化します。セキュリティ上の理由から、フロントエンドに暗号化を行わせたくない場合、深刻なセキュリティ上の欠陥につながる可能性があります。
次のngEncryptionファクトリを使用すると、Controller.jsファイルのデータを暗号化してapicontrollerに渡すことができます。私はPublic/Privateキーを使って暗号化/復号化のためのデータを暗号化しています。これらのキーは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);
}
};
});
セキュリティで保護されたデータを送信し、サーバーで暗号化するためにhttpsを使用する方がよいでしょう。 クライアントコードで暗号化したい場合は、SHA256またはSHA1またはMD5を使用できます。多くは利用可能です。角度暗号は多くのJSを提供します。 コントローラのhtmlページと下の行にJSへの参照を含めます。
CryptoJS.SHA1($scope.newCustomer.password)
セキュリティを強化するため、サーバー側でハッシュされたパスワードをSALTします。
「SHA256またはSHA1またはMD5」のいずれも暗号化されていないため、一方向の暗号化ハッシュ関数です。また、ハッシュ関数に塩を追加するだけでセキュリティを改善することはほとんどありません。代わりに、約100msの持続時間の間、ランダムな塩でHMACを繰り返し、塩をハッシュで保存してください。 password_hash、PBKDF2、Bcryptなどの関数を使用します。要点は、攻撃者が無差別にパスワードを見つけるのに多くの時間を費やすことです。 – zaph
- 1. パスワードの暗号化
- 2. パスワードの暗号化
- 3. パスワードでの暗号化と復号化
- 4. OpenAM:RESTFUL API - 暗号化/暗号化パスワード
- 5. パスワードの暗号化/復号化スプリングセキュリティ
- 6. Symfony暗号化パスワード
- 7. QMLパスワードの暗号化
- 8. パスワードの暗号化方法
- 9. Powerbuilder Datawindowパスワードの暗号化
- 10. Oracle:パスワードの暗号化
- 11. DESとパスワードで暗号化
- 12. Javaでのキーストアのパスワード暗号化
- 13. ASP.NET MVC 3でのパスワードの暗号化
- 14. htmlサーブレットのクライアントサイドでのパスワード暗号化
- 15. 暗号化とハッシュ化のパスワード
- 16. パスワードを暗号化する
- 17. tomcat server.xml暗号化パスワード
- 18. Sails.js - パスワードを暗号化
- 19. TDS7ログインパケット、暗号化パスワード
- 20. Maven暗号化パスワードArrayIndexOutOfBoundsException
- 21. 暗号化パスワードkafka sslセットアップ
- 22. OpenLDAPでのSSHAパスワード暗号化
- 23. 暗号化および復号化パスワードのWebSphereのWebSphereで
- 24. クライアント/サーバーアプリケーションでSMTPパスワードの暗号化/復号化
- 25. ログイン中のパスワードの暗号化
- 26. Web.configファイルのパスワードの暗号化
- 27. 一方向のパスワード暗号化のアルゴリズム
- 28. Sybase BCPのユーザーとパスワードの暗号化
- 29. cnfファイルのHibernate 5のパスワード暗号化
- 30. ユーザー入力パスワードでDESで暗号化
httpsをお探しですか? – Weedoze
@KISHAN PATIパスワードを暗号化するために角度を使用しないことをお勧めします。 バックエンドテクノロジのJavaを使用するか、これまで使用していたものを使用します –
これを暗号化せずにHTTPS経由で送信し、 – dfsq