Шифрование с помощью C # и дешифрование с помощью приложения SQL Server 2008 для ASP.NET - PullRequest
0 голосов
/ 22 марта 2012

В моем интерфейсе у меня есть следующие функции:

способ шифрования:

  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, написанной на внешнем интерфейсе (при регистрации или изменении пароля), и расшифровать зашифрованный пароль (с внешнего интерфейса) с помощью хранимой процедуры (при входе в систему). Как я могу это сделать?

1 Ответ

1 голос
/ 22 марта 2012

Чтобы ответить на ваш вопрос: вы можете подключить сборки .net к SqlServer для запуска функций .net - вот учебник для .net 2.0 / SqlServer2005

...