2013-03-07 3 views
0

Я пытаюсь использовать Hash::make() в своем приложении, и у меня возникли проблемы с его работой. Я пытался использовать документацию на сайте Laravel 3, так как я не могу найти что-либо в документации Laravel 4.Laravel 4: Hash :: make не возвращает правильное значение

Когда я пытаюсь вставить Hash::make($password) в мою базу данных, он сохраняет это значение как 0. Мое поле varchar и оно имеет длину 100, что должно быть достаточно длинным. Я попытался вставить в разные поля в моей базе данных, и он всегда сохраняет значение 0. Я попытался установить $password на тестовую строку, а не на то, что происходит из формы, и она по-прежнему сохраняется как 0. Если я вставляю $password без Hash::make(), хранит мой пароль.

Я пробовал эхом Hash::make('test) на моей странице, и я ничего не ответил. Нет вывода вообще. Я думаю, именно поэтому я вставляю 0 в базу данных, когда пытаюсь сохранить значение.

Это может быть связано с ключом приложения, который вы установили с помощью key:generate через Artisan? Я обнаружил, что не установил это, и когда я попытался установить его, он говорит мне, что он уже установлен? Как сбросить ключ?

+0

Ключ приложения, созданный мастером, используется для сессионных файлов cookie, но не сохраняет работу Hash :: make(). Однако для получения набора ключей я заметил, что если он не содержит оригинальный текст «ключ» => «YourSecretKey !!!», ключ: команда generate считает, что ключ уже установлен (даже если это пустая строка). Я тестирую полностью обновленные L4 и Hash :: make ('hello') возвращает хешированную строку с 64 символами, как и следовало ожидать. Не уверен, но я думаю, что всегда будет 64 char, поэтому ваше поле 100 char должно быть в порядке. – isimmons

+0

Я проверил, что вы сказали о ключе, и вы правы. Что может вызвать проблему с 'Hash :: make()'? – sehummel

+1

Является ли 'echo Hash :: make ('hello')' правильным PHP, который вернет хэш? – sehummel

ответ

2

Requirements of Laravel 4

  • PHP> = 5.3.7
  • Mcrypt PHP Extension

Я подозреваю, что не включено расширение Mcrypt PHP. Вы можете запустить phpinfo() для подтверждения.

+0

Проблема на самом деле оказалась обратной. У меня был PHP 5.3.3. Модернизация решила проблему. – sehummel

Смежные вопросы