我想用C#創建一個ASP.Net應用程序,我將在SQL Server 2005上存儲數據,這些數據將被加密我想找到一種算法來加密數據與C#和解密它在SQL服務端,我想用SQL加密一些數據,並用C#解密它什麼是最好的算法?使用C#和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;
}
您計劃在哪裏隱藏密鑰? –