C# データ モデルのカスタム セッターを作成する方法がわかりません。シナリオは非常に単純です。パスワードを SHA256 関数で自動的に暗号化する必要があります。SHA256 関数は非常にうまく機能します (これまでに膨大な数のプロジェクトで使用してきました)。
私はいくつかのことを試しましたが、実行update-database
すると、再帰的に何かを実行しているように見え、Visual Studio がハングします (エラーを送信しないでください)。モデルでデフォルトでパスワードを暗号化する方法を理解するのを手伝ってください。
私がすでに試したことをコード化する
public class Administrator
{
public int ID { get; set; }
[Required]
public string Username { get; set; }
[Required]
public string Password
{
get
{
return this.Password;
}
set
{
// All this code is crashing Visual Studio
// value = Infrastructure.Encryption.SHA256(value);
// Password = Infrastructure.Encryption.SHA256(value);
// this.Password = Infrastructure.Encryption.SHA256(value);
}
}
}
シード
context.Administrators.AddOrUpdate(x => x.Username, new Administrator { Username = "admin", Password = "123" });