В моем интерфейсе у меня есть следующие функции:
способ шифрования:
public static string Encrypt(string strToEncrypt)
{
TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
byte[] byteHash, byteBuff;
byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(GetEncryptionKey));
objHashMD5 = null;
objDESCrypto.Key = byteHash;
objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB
byteBuff = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
return Convert.ToBase64String(objDESCrypto.CreateEncryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
}
метод расшифровки:
public static string Decrypt(string strEncrypted)
{
TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
byte[] byteHash, byteBuff;
byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(GetEncryptionKey));
objHashMD5 = null;
objDESCrypto.Key = byteHash;
objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB
byteBuff = Convert.FromBase64String(strEncrypted);
string strDecrypted = ASCIIEncoding.ASCII.GetString(objDESCrypto.CreateDecryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
objDESCrypto = null;
return strDecrypted;
}
и функция GetEncryptionKey равна
private static string GetEncryptionKey
{
get { return "#$&*(^($%"; }
}
EDIT:
Теперь вот моя проблема:
поэтому меня просят зашифровать пароль пользователя с помощью функции Encrypt, написанной на внешнем интерфейсе (при регистрации или изменении пароля), и расшифровать зашифрованный пароль (с внешнего интерфейса) с помощью хранимой процедуры (при входе в систему).
Как я могу это сделать?