Как воссоздать хеш MD5 из функции C # в SQL Server - PullRequest
0 голосов
/ 02 мая 2019

Я борюсь с устаревшей кодовой базой и функцией MD5 (ниже), которая возвращает значение, которое я никак не могу воссоздать с помощью SQL Server, несмотря на использование HASHBYTES, кодирование Base64 или другие стратегии.

Наша функция MD5 C #:

public string Md5(string value)
{
    CryptographyManager crypto = EnterpriseLibraryContainer.Current.GetInstance<CryptographyManager>();

    //byte[] valueToHash = (new UnicodeEncoding()).GetBytes(value);
    string generatedHash = crypto.CreateHash("MD5CryptoServiceProvider", value);

    // Clear the byte array memory.
    //Array.Clear(valueToHash, 0, valueToHash.Length);

    return generatedHash;
}

Когда я запускаю слово «test» через функцию MD5 в C #, он возвращает следующее:

RTYSPVSIIGNYx5++zd8EfNwYAONmPWZnsKaYiQHBCP8=

Это нестандартная кодировка Base64, и я не могу найти способ воссоздать ее в SQL для связанного проекта.

Пожалуйста, помогите мне понять, что возвращает функция MD5, описанная выше.

1 Ответ

0 голосов
/ 02 мая 2019

проверить это: надеюсь, это поможет MD5 хэш и Base64 кодирование

public static string MD5(this string normal)
        {
            byte[] textBytes = System.Text.Encoding.UTF8.GetBytes(normal);
            try
            {
                System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler;
                cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider();
                byte[] hash = cryptHandler.ComputeHash(textBytes);
                string ret = "";
                foreach (byte a in hash)
                {
                    if (a < 16)
                        ret += "0" + a.ToString("x");
                    else
                        ret += a.ToString("x");
                }
                return ret;
            }
            catch
            {
                throw;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...