2013-03-07 3 views
0

J'essaie d'utiliser Hash::make() dans mon application et j'ai du mal à le faire fonctionner. J'ai essayé d'utiliser la documentation sur le site Laravel 3, car je ne trouve rien sur la documentation de Laravel 4 à ce sujet.Laravel 4: Hash :: ne pas retourner une valeur correcte

Lorsque j'essaie d'insérer Hash::make($password) dans ma base de données, la valeur est 0. Mon champ est varchar et il a une longueur de 100, ce qui devrait être assez long. J'ai essayé d'insérer dans différents domaines dans ma base de données, et il enregistre toujours 0. J'ai essayé de définir $password à une chaîne de test, plutôt que ce qui vient du formulaire et il enregistre encore 0. Si j'insère $password sans le Hash::make() il stocke mon mot de passe.

J'ai essayé d'écho Hash::make('test) sur ma page et je n'ai eu aucun écho en arrière. Pas de sortie du tout. Je suppose que c'est pourquoi j'insère 0 dans la base de données lorsque j'essaie de stocker la valeur.

Est-ce que cela peut être lié à la clé d'application que vous avez définie avec key:generate via Artisan? J'ai découvert que je n'avais pas réglé ça et quand j'ai essayé de le régler, ça me dit que c'est déjà réglé? Comment réinitialiser la clé?

+0

La clé de l'application créée par l'artisan est utilisée pour les cookies de session mais n'empêche pas Hash :: make() de fonctionner. Cependant, pour obtenir de l'aide pour l'ensemble de clés, j'ai remarqué que s'il ne contient pas le texte original 'key' => 'YourSecretKey !!!', la commande key: generate pense que la clé est déjà définie (même s'il s'agit d'une chaîne vide). Je suis en train de tester sur un L4 entièrement mis à jour et Hash :: make ('hello') renvoie une chaîne de hachage de 64 caractères comme il se doit. Je ne sais pas, mais je pense que ce sera toujours 64 chars donc votre champ de 100 char devrait être bien. – isimmons

+0

J'ai testé ce que vous avez dit à propos de la clé et vous avez raison. Qu'est-ce qui pourrait causer un problème avec 'Hash :: make() '? – sehummel

+1

Est-ce que 'echo Hash :: make ('hello')' PHP valide qui retournera le hachage? – sehummel

Répondre

2

Requirements of Laravel 4

  • PHP> = 5.3.7
  • MCrypt PHP Extension

Je suppose que vous n'avez pas l'extension PHP MCrypt activé. Vous pouvez exécuter phpinfo() pour confirmer.

+0

Le problème s'est avéré être l'inverse. J'avais PHP 5.3.3. La mise à niveau a résolu le problème. – sehummel

Questions connexes