Это не мой первый раз с использованием CodeIgniter или Bcrypt, но это мой первый раз с использованием specific library of Bcrypt with CodeIgniter. У меня возникла проблема с объединением двух.Интеграция библиотеки password_compat
Позволяет получить к коду:
public function create_user($value) {
$this -> CI = get_instance(); // Get the CI instance
$this -> CI -> load -> library('bcrypt'); // Use this to load the library from within the model
$hash = $this -> CI -> bcrypt -> password_hash($value[":password"], PASSWORD_BCRYPT, array("cost" => 17)); Here is where things get shaky.
$value[":password"] = $hash; // Here I take the :password placeholder and update the clear text password with the bcrypt pasword
var_dump($value[":password"]); // This gives me NULL, I assume because I am getting errors with $hash = .......
........................................
согласно инструкции с Password_compat:
Bcrypt также позволяет определить параметр стоимости в опции массива. Это позволяет вам изменить стоимость процессора по алгоритму:
$ hash = password_hash ($ password, PASSWORD_BCRYPT, array ("cost" => 10));
На моем переднем конце эти ошибки я получаю:
Сообщение: Использование неопределенная константа PASSWORD_BCRYPT - предполагается 'PASSWORD_BCRYPT'
Сообщение: password_hash() ожидает параметр 2 для be long, string given
Я сделал это в самой библиотеке, поэтому поместил его в папку приложений/библиотек
любая помощь будет большим. Спасибо.
бежишь PHP 5.5+? Похоже, эта константа не была добавлена до тех пор, что также вызвало бы сообщение о том, что параметр 2 не является ожидаемым. –
Я запускаю PHP 5.3 с платьем sushin – user2378411
Ya, постоянная PASSWORD_BCRYPT не была введена до 5.5. http://php.net/manual/en/password.constants.php –