나는이 POCO 클래스가 : 나는 내 데이터베이스에서 데이터를 읽을 때/암호 해독 Password
필드를 암호화 할 수있는 방법C 번호, 단정 한, POCO 및 암호화/암호 해독은
class Users
{
public string User { get; set; }
public string Password { get; set; }
private string Encrypt(string plainText)
{
...
return encryptedText;
}
private string Decrypt(string cipherText)
{
...
return decryptedText;
}
을 나는에서 내 POCO 개체에 액세스 할 때 기음#?
나는이 같은 sometingh 사용하려고 해요 :
class Users
{
private string _password;
public string User { get; set; }
public string Password
{
get
{
return Encriptar(_password);
}
set
{
_password = Desencriptar(value);
}
}
private string Encrypt(string plainText)
{
...
return encryptedText;
}
private string Decrypt(string cipherText)
{
...
return decryptedText;
}
그러나 개체가 내 데이터베이스에서 데이터를 입력하면, 모두가 Password
필드가 제대로 해독, 괜찮습니다,하지만 난에서 개체에 액세스 할 때 C#을 텍스트 필드에 표시하려면 get
속성이 내 데이터를 다시 암호화합니다./
암호를 해독하는 기능이있는 경우 잘못하고 있습니다. [필수 읽기] (http://stackoverflow.com/q/1054022/335858). – dasblinkenlight
** ** 암호를 암호화하지 마십시오. ** 공격자가 DB를 받으면 암호화 키도 받게됩니다. 약 100ms 동안 무작위 소금으로 HMAC를 반복하고 소금을 해시로 저장하십시오. 'password_hash' /'password_verify','PBKDF2' (일명'Rfc2898DeriveBytes'),'Bcrypt'와 같은 함수를 사용하십시오. 요점은 공격자가 무차별 적으로 암호를 찾는 데 많은 시간을 소비하게하는 것입니다. – zaph
팁 주셔서 감사합니다 :) –