Использование SHA-256 для хеширования CodeIgniter

CodeIgniter использует MD5 или SHA1 для хеширования:

$str = do_hash($str); // SHA1

$str = do_hash($str, 'md5'); // MD5 

Но для моего проекта требуется SHA-256. Как мне решить эту проблему?


person Kriem    schedule 16.02.2011    source источник
comment
Само существование do_hash функция действительно заставляет меня задуматься. sha1 является основной функцией с версии 4.3.0. А учитывая, что для CI требуется 5.1.6+, это явный признак гниения кода (по крайней мере, на мой взгляд)...   -  person ircmaxell    schedule 16.02.2011
comment
@ircmaxell - мне тоже сейчас интересно.   -  person Kriem    schedule 16.02.2011
comment
Помните, ребята, что CodeIgniter существует уже давно и был совместим с PHP4 для всего этого примерно до месяца назад. В течение большей части этого времени это был единственный PHP-фреймворк, предлагающий функции PHP5 тем неудачливым пользователям, которые застряли в разработке для клиентов, которым требуется совместимость с PHP4. hash() был представлен в версии 5.1.2, тогда как do_hash() предоставляет запасные варианты и отлично работает на PHP4. Выглядит немного странно сегодня, но это было чертовски полезно в течение многих лет.   -  person Phil Sturgeon    schedule 17.02.2011


Ответы (1)


Не можете ли вы просто вызвать собственный хеш() php?

$str = hash ( "sha256", $str );
person Brian    schedule 16.02.2011
comment
Да, я отвечал на свой вопрос: «Почему бы мне просто не использовать php hash ()?» когда я увидел твой ответ. Итак, да. Ты прав. - person Kriem; 16.02.2011