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