2013-03-07 38 views
0

我正在尝试在我的应用程序中使用Hash::make(),并且无法使其正常工作。我一直在尝试使用Laravel 3站点上的文档,因为我找不到关于它的Laravel 4文档。Laravel 4:Hash :: make not returned a proper value

当我尝试在我的数据库中插入Hash::make($password)时,它将值保存为0.我的字段为varchar,它的长度为100,应该足够长。我尝试在我的数据库中插入不同的字段,它总是保存为0.我尝试将$password设置为测试字符串,而不是来自表单的内容,它仍然保存为0.如果我插入$password而不是Hash::make()它存储我的密码。

我试着在我的页面上呼应Hash::make('test),我什么都没有回应。根本没有输出。我想这就是为什么当我尝试存储值时将0插入数据库的原因。

这可能与您通过Artisan设置的应用程序密钥key:generate有关吗?我发现我没有设置,当我试图设置它,它告诉我它已经设置?我如何重置密钥?

+0

artisan创建的应用程序密钥用于会话cookie,但不会保持Hash :: make()不起作用。然而,为了获得密钥集,我注意到如果它不包含原始文本'key'=>'YourSecretKey !!!',key:generate命令认为密钥已经设置(即使它是一个空字符串)。我正在测试一个完全更新的L4和Hash :: make('hello'),它应该返回一个64个字符的散列字符串。不知道,但我认为它总是64字符,所以你的100字符字段应该没问题。 – isimmons 2013-03-07 16:15:47

+0

我测试了你所说的关于密钥的内容,并且你是正确的。 “Hash :: make()”会导致什么问题? – sehummel 2013-03-07 16:18:43

+1

是'echo Hash :: make('hello')'有效的PHP将返回哈希? – sehummel 2013-03-07 16:25:51

回答

2

Requirements of Laravel 4

  • PHP> = 5.3.7
  • mcrypt的PHP扩展

我怀疑你没有启用这个Mcrypt PHP扩展。您可以运行phpinfo()进行确认。

+0

问题实际上是相反的。我有PHP 5.3.3。升级解决了这个问题。 – sehummel 2013-03-12 21:01:00

相关问题