Криптография SHA512 хэш в строку в C#

У меня есть код для генерации SHA512 из строки.

 public static string GetCrypt(string text)
        {
            string hash = "";
            SHA512 alg = SHA512.Create();
            byte[] result = alg.ComputeHash(Encoding.UTF8.GetBytes(text));
            hash = Encoding.UTF8.GetString(result);
            return hash;
        }
    
Теперь я должен преобразовать hash обратно в string. Есть идеи, как это сделать? Спасибо.

3 ответов


хэши в 1 сторону. Вы не можете получить его обратно (легко). вы, возможно, захотите, фактический шифрования.


да. Хэши односторонние. Используйте симметричные классы шифрования, такие как RijndaelManaged.

вот класс RijndaelSimple, который я использую: http://www.obviex.com/samples/encryption.asp

кэшированная версия той же ссылки находится здесь: http://webcache.googleusercontent.com/search?q=cache:WyVau-XgIzkJ:www.obviex.com/samples/encryption.asp&hl=en&prmd=imvns&strip=1


вы не можете преобразовать hash назад к строке, из которой вы вычисляли хэш.

Если вы хотите, то вам придется сравнить хэш с каждой из целевых строк хэша.

Если один из них соответствует хэшу, то этот хэш исходит из целевой строки.

его использовать: если вы хотите сохранить passwords на database, вы можете хранить свои хэши вместо паролей.Поэтому, даже если хакер получает доступ к вашей базе данных, он не может получить пароль, потому что он хэшируется.Единственный способ узнать строку, через которую мы создали хэш-кода -матч нужную строку!