Некоторые возможные ответы:
1) Ваш параметр salt
Php crypt () использует два параметра: crypt ( string $str [, string $salt ] )
. Кажется, вы используете пароль в качестве соли, что является очень плохой практикой. Это так или вы просто путаете параметр salt
? Я также рекомендовал бы всегда сравнивать пароли с php hash_equals () , потому что crypt () уязвим для временных атак .
2) изменений на вашем сервере. configuration
Какой тип конфигурации ha sh ваша php используется для шифрования / дешифрования строк?:
В системах, где функция crypt () поддерживает несколько типов ha sh, следующие константы устанавливаются в 0 или 1 в зависимости от того, доступен ли данный тип: CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 and CRYPT_SHA512
. Если вы недавно изменили конфигурацию своего сервера, некоторые из них могут быть недоступны. Проверьте это с помощью phpinfo()
Рекомендация
Вы работаете с фреймворком, и Yii, как и каждый фреймворк, имеет свой собственный класс для шифрования и дешифрования строк. Взгляните на yii класс безопасности . Это облегчит вашу жизнь.