CodeIgniter Mot De Passe De Cryptage Et De Validation
J'utilise CodeIgniter, et je suis de la création d'une section du site où les utilisateurs peuvent avoir besoin d'être connecté. J'ai lu sur le stockage des mots de passe MD5 et des chaînes cryptées avec des sels, mais je ne vois rien sur le déchiffrement.
Est-il efficace et sécuritaire pour chiffrer les tentatives de mot de passe de la même manière qu'ils ont été chiffrés lorsqu'ils sont conservés pour vérifier la validation?
Est-ce la meilleure façon de stocker les mots de passe dans une application en php ou en utilisant le Framework CodeIgniter?
- note: jetez un oeil à des bibliothèques qui sont faites pour l'authentification déjà. stackoverflow.com/questions/346980/...
- double possible de Comment utilisez-vous bcrypt pour le hachage des mots de passe en PHP?
- si votre commentaire était une réponse, j'aurais accepté. Merci!!
- Lors de l'enregistrement d'un vérificateur de mot de passe juste en utilisant une fonction de hachage n'est pas suffisant et simplement l'ajout d'un sel ne contribue guère à améliorer la sécurité. Au lieu de cela itérer sur un HMAC avec un nombre aléatoire de sel pendant environ une 100ms de la durée et de sauver le sel avec le hash. Utiliser une fonction telle que
PBKDF2
,Rfc2898DeriveBytes
,password_hash
,Bcrypt
,passlib.hash
ou des fonctions similaires. Le point est de faire de l'attaquant de passer beaucoup de temps à trouver les mots de passe par force brute.
Vous devez vous connecter pour publier un commentaire.
Il y a déjà auth bibliothèques "ready to go" (hors de la boîte on peut dire), voici un lien vers une autre question qui est similaire à celui
http://www.stackoverflow.com/questions/346980/how-should-i-choose-an-authentication-library-for-codeigniter
note j'aime Réservoir D'Auth avec "les groupes".
CodeIgniter utilise une bibliothèque appelée "Réservoir Auth": http://konyukhov.com/soft/tank_auth/
Il comprend la classe "PasswordHash.php": http://bit.ly/1gahwtT
Exemple de code:
les deux commentaires sur vos réponses montre les liens les bonnes réponses, pour ajouter plus de.si vous êtes juste dans le hachage,Vous pouvez également utiliser crypte. note crypte est différente de mcrypt me tromper une seule fois. Un exemple de la crypte peut être trouvé sur laravel3 Classe Hash. ou vous pouvez aussi utiliser php passer,une bibliothèque qui utilise OpenBSD-style Blowfish à base de bcrypt.
Ajouter grâce à cryptique, ircmaxell dispose également d'un hachage de la bibliothèque de vérifier ici
password_hash()
donc, à l'aide de la bibliothèque rend déjà compatible avec elle, donc pas besoin de modifier le code pour l'utiliser, il vient de supprimer de la bibliothèque lors de la mise à niveau, et vous êtes tous de bon. =o)Ne pas utiliser md5 ou base64. Sha1 est également cassé. Il est préférable de l'utiliser bcrypt.
Vous pouvez utiliser cette bibliothèque avec codeigniter pour vérifier la bcrypt mots de passe
Les mots de passe sont stockés dans haché format, parce que dans la plupart des cas, il n'est pas nécessaire de les restaurer à la chaîne d'origine. La fonction md5 génère un unique de 32 lettre longue chaîne qui peut être vérifié par une simple comparaison de deux valeurs de hachage. Pour répondre à votre question:
password_hash
etpassword_verify
.cette fonction peut être utiliser que pour u..