какой sha1() будет делать с русскими или любыми другими не английскими буквами? Будет ли sha1() всегда возвращать английские буквы?что sha1() будет делать с русскими или любыми другими английскими буквами?
ответ
SHA-1 не заботится о кодировке символов. Он рассматривает только поток байтов. Выход всегда будет 160-битным числом.
sha1() не имеет ничего общего с русской или любой другой не латинскими буквами (или любые другие письма - благодаря поучительный комментарий от Greg Hewgill)
это PHP функция возвращает возвращает строку, состоит только из цифр и букв латинского алфавита , только первые 5 из них
Это не имеет никакого отношения к * английским * буквам. Похоже, вы думаете о шестнадцатеричном представлении 160-битного результата. –
OMG мышление? что это? –
Вывод алгоритма SHA-1 - это 160-битное число. Обычно это упрощает чтение, например, '7a788f56fa49ae0ba5ebde780efe4d6a89b5db47'. –
sha1 работает с байтами, а не буквами, и он генерирует 160-битное двоичное число. Это число обычно представлено в шестнадцатеричной нотации, поэтому да, оно всегда будет возвращать английские буквы («а» до «f», если быть точным).
Что стоит добавить, так это то, что обычно вы как-то конвертируете входную строку (символы) в поток байтов, а затем применяете алгоритм SHA-1. В зависимости от кодировки, используемой на первом этапе, общий результат может быть (и практически будет) другим. –