Mysql
 sql >> база данни >  >> RDS >> Mysql

php password_verify не работи с база данни

Открих проблема. когато направих това:

echo strlen($hash)

отпечата 90, което е странно, защото определено нямаше интервали в края, когато разпечатах съобщението за успех/неуспех, а полето има дължина на varchar от 255

Добавих този ред:

$hash = substr( $hash, 0, 60 );

И сега работи добре.

Странно е, че изглежда никой друг не се е сблъсквал с този проблем. Има подобни публикации за password_verify, но нито една от тях не изисква този тип преобразуване или каквото и да е преобразуване по този въпрос:

php password_verify не работи

password_verify php не съвпада

http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify/

Използване на функциите password_hash и password_verify на PHP 5.5

Едно нещо, което ме притеснява е, че това пречи на кода да бъде съвместим напред. Как ще разбера, че хешът е дълъг 60 знака, когато се промени по подразбиране?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT INTO Table от множество таблици

  2. Ключовата дума SEPARATOR не работи правилно във формула за хибернация

  3. Nginx - Изтегляне на PHP вместо изпълнение

  4. Конкатениране на множество редове в единични редове в MySQL

  5. Кога да добавите индекс към поле на SQL таблица (MySQL)?