Je veux créer une application ASP.Net avec C# et je vais stocker des données sur SQL Server 2005, ces données seront cryptées Je veux trouver un algorithme pour crypter une donnée avec C# et décrypter sur SQL côté serveur et je veux chiffrer un certain nombre de données avec SQL et décrypter avec C# quel est le meilleur algorithme pour cela?Crypter et déchiffrer des données avec C# et SQL Server
private byte[] key = {
0x61,
0x72,
0x84,
0x7a,
0x24,
0x43,
0x65,
0x64,
0x73,
0x55,
0x64,
0x75,
0x66
};
const string PASSWORD = "TestPassword";
public object Encrypt(string sPlainText)
{
byte[] aPlainBytes = null;
PasswordDeriveBytes aPassword = default(PasswordDeriveBytes);
aPlainBytes = System.Text.Encoding.Unicode.GetBytes(sPlainText);
aPassword = new PasswordDeriveBytes(PASSWORD, key);
byte[] sEncryptedData = Encrypt(aPlainBytes, aPassword.GetBytes(32), aPassword.GetBytes(16));
//' MessageBox.Show(Convert.ToString(sEncryptedData.ToString))
return Convert.ToBase64String(sEncryptedData);
}
private byte[] Encrypt(byte[] sPlainData, byte[] aKey, byte[] aIV)
{
MemoryStream oMemoryStream = new MemoryStream();
Rijndael oRijndael = Rijndael.Create();
oRijndael.Key = aKey;
oRijndael.IV = aIV;
CryptoStream oCryptoStream = new CryptoStream(oMemoryStream, oRijndael.CreateEncryptor(), CryptoStreamMode.Write);
oCryptoStream.Write(sPlainData, 0, sPlainData.Length);
oCryptoStream.Close();
byte[] aEncryptedData = oMemoryStream.ToArray();
return aEncryptedData;
}
Où prévoyez-vous de cacher la clé? –