以下の同じ方法を使用して、同じ平文を 2 回暗号化しますが、暗号化後の暗号文は同じではありません。なぜですか?
ユーザー情報をデータベースに保存する際にパスワードを暗号化したいのですが、以下の暗号化方式を利用したいのですが、旧パスワードと新パスワードを入力後、選択したユーザーIDからユーザーを見つけ出し、ユーザー編集機能を完成させたいのですが、古いパスワードを暗号化し、入力した古いパスワードがデータベースに保存されているパスワードと一致することを検証しようとします。しかし、正しいパスワードを入力しても一致しませんでした。同じ方法を使用してパスワードを暗号化します。
//encrypt the plainText
public static string Encrypt(string plainText)
{
if (plainText == null || plainText == "")
throw new ArgumentNullException("plainText");
var temp = Encoding.UTF8.GetBytes(plainText);
byte[] encrypted = ProtectedData.Protect(temp, null, DataProtectionScope.CurrentUser);
return Convert.ToBase64String(encrypted);
}