2010-05-07 3 views

ответ

10

SHA-1 не заботится о кодировке символов. Он рассматривает только поток байтов. Выход всегда будет 160-битным числом.

+1

Что стоит добавить, так это то, что обычно вы как-то конвертируете входную строку (символы) в поток байтов, а затем применяете алгоритм SHA-1. В зависимости от кодировки, используемой на первом этапе, общий результат может быть (и практически будет) другим. –

1

sha1() не имеет ничего общего с русской или любой другой не латинскими буквами (или любые другие письма - благодаря поучительный комментарий от Greg Hewgill)
это PHP функция возвращает возвращает строку, состоит только из цифр и букв латинского алфавита , только первые 5 из них

+0

Это не имеет никакого отношения к * английским * буквам. Похоже, вы думаете о шестнадцатеричном представлении 160-битного результата. –

+0

OMG мышление? что это? –

+0

Вывод алгоритма SHA-1 - это 160-битное число. Обычно это упрощает чтение, например, '7a788f56fa49ae0ba5ebde780efe4d6a89b5db47'. –

4

sha1 работает с байтами, а не буквами, и он генерирует 160-битное двоичное число. Это число обычно представлено в шестнадцатеричной нотации, поэтому да, оно всегда будет возвращать английские буквы («а» до «f», если быть точным).

Смежные вопросы