Je suis actuellement étudiant et j'étudie le PHP, j'essaie de faire un simple cryptage/décryptage de données en PHP. J'ai fait quelques recherches en ligne et certaines d'entre elles étaient assez confuses (du moins pour moi).
Voici ce que j'essaie de faire :
J'ai une table composée des champs suivants (UserID,Fname,Lname,Email,Password)
Ce que je veux, c'est que tous les champs soient cryptés, puis décryptés (est-il possible d'utiliser la méthode de l'utilisateur final ? sha256
pour le cryptage/décryptage, sinon tout algorithme de cryptage)
Une autre chose que je veux apprendre est comment créer une voie unique hash(sha256)
combiné avec un bon "sel". (Fondamentalement, je veux juste avoir une implémentation simple du cryptage/décryptage, hash(sha256)+salt)
Monsieur/Madame, vos réponses seraient d'une grande aide et très appréciées. Merci++.
3 votes
Les horreurs du cryptage Sha-1 !
0 votes
php.net/manual/fr/faq.passwords.php
9 votes
SHA est un hachage, pas un cryptage. Le point clé est qu'un hachage ne peut pas être inversé en données originales (pas facilement, en tout cas). Vous voulez probablement mcrypt ou si elle n'est pas disponible, je recommande phpseclib - Bien qu'il soit important de noter que toute implémentation purement PHP de quelque chose qui implique beaucoup de mathématiques de bas niveau sera lente... C'est pourquoi j'aime phpseclib, parce qu'il utilise mcrypt en premier s'il est disponible et ne se rabat sur les implémentations PHP qu'en dernier recours.
7 votes
Normalement, vous ne voulez pas être en mesure de décrypter un mot de passe !
1 votes
En fait, il ne faut pas penser au cryptage à ce niveau, mais plutôt au contrôle d'accès, à la confidentialité, à l'intégrité et à l'authentification. Ensuite, vérifiez comment vous pouvez y parvenir, éventuellement en utilisant le cryptage ou le hachage sécurisé. Vous pouvez lire PBKDF2 et bcrypt/scrypt pour comprendre le hachage sécurisé des mots de passe et autres.
0 votes
Vous pouvez utiliser la fonction
password_hash
ypassword_verify
pour saler et hacher automatiquement vos mots de passe. Vous ne voulez pas que vos mots de passe soient décryptables. Hachez-les simplement et utilisez-les. Détruit effectivement le mot de passe original afin que personne ne sache ce qu'il est, mais permet toujours la vérification des mots de passe en comparant le mot de passe d'entrée avec le hachage stocké à l'aide de la fonctionpassword_verify
. Joli. Je ne suis pas sûr du cryptage... c'est pourquoi je suis ici ! :-D