SHA1 хеш вопрос - PullRequest
       12

SHA1 хеш вопрос

4 голосов
/ 26 февраля 2010

У меня есть этот метод для хеширования строки:

 byte[] buffer = enc.GetBytes(text);
 SHA1CryptoServiceProvider cryptoTransformSHA1 =
                new SHA1CryptoServiceProvider();
 string hash = BitConverter.ToString(
                cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");

 return hash;

Мой вопрос:

Всегда ли полученный хеш одинаков для одной и той же строки?

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

Ответы [ 3 ]

10 голосов
/ 26 февраля 2010

Да, одна и та же строка открытого текста будет хэшировать каждый раз один и тот же хэш SHA1.

3 голосов
/ 26 февраля 2010

До тех пор, пока байты одинаковы, вы получите точно такой же хеш. Обратите внимание, что специальные символы и пробелы также являются байтами.

Ссылка на Википедию

0 голосов
/ 31 мая 2010

Id зависит! Одна и та же текстовая строка будет хэшировать к тому же хешу SHA1, если вы используете ту же кодировку! Использование другой кодировки приведет к другому хешу SHA1.

...