J'ai besoin de crypter de manière sécurisée et de déchiffrer les informations sur les utilisateurs ( Quelle est la meilleure façon de faire cela? Quelles fonctions de cryptage et de déchiffrement ai-je besoin? P>
J'utilise user_id code> et
mot de passe code>) dans les cookies. p>
php code> et
mySQL code> et l'exemple sera participé? p>
3 Réponses :
Par exemple
<?php function encryptCookie($value){ if(!$value){return false;} $key = 'The Line Secret Key'; $text = $value; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); return trim(base64_encode($crypttext)); //encode for cookie } function decryptCookie($value){ if(!$value){return false;} $key = 'The Line Secret Key'; $crypttext = base64_decode($value); //decode cookie $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); } ?>
Pourriez-vous définir la fonction chiffrercookie () code>?
@Michiel: Je serais beaucoup plus intéressé par Decryptcookie () s'il va utiliser MD5.
Désolé, était un peu rapide là-bas. J'ai ajouté les exemples de chiffrement / déchiffrer maintenant
@Michael: C'est drôle (et intéressant)! @Mikelangelo: Où utilisez-vous MD5?
@Michael: Je ne pouvais pas décoder pour obtenir le message d'origine si le message d'origine contient des caractères spéciaux: $ valeur = "adsj + ADF% b3 ==". Je ne sais pas si cela est lié à ce sujet, mais je ne peux pas que le cookie soit bien sûr, mais le $ _Cookie ['mycookie] n'a pas ces caractères spéciaux. Merci.
mcrypt_encrypt (): clé de la taille 19 non prise en charge par cet algorithme. Seules clés de tailles 16, 24 ou 32 supportées
Ne stockez pas les mots de passe dans un cookie. Ne jamais faire ce genre de choses.
Si vous souhaitez que l'utilisateur ne soit pas obligé de ne pas avoir à entrer son identifiant et votre mot de passe pour vous connecter, vous pouvez générer un jeton aléatoire lorsqu'il se connecte ( Puis, lorsque vous essayez d'identifier un utilisateur, il vous suffit de vérifier si la valeur trouvée dans son cookie peut être trouvée dans votre base de données. Générez une nouvelle valeur à chaque fois qu'il se connecte (à l'aide de nom + mot de passe ou avec ce cookie). P> SHA1 (mt_rand ()) code> par exemple) et stockez ceci valeur dans le cookie et la base de données. P>
Il n'y a pas de bon moyen de "crypter de manière sécurisée et déchiffrer des informations sur les utilisateurs de cookies" car stocker ces informations dans des cookies est intrinsèquement insécurité. P>
La technique recommandée consiste à générer un identifiant de session aléatoire et à l'utiliser comme la
Stocker le mot de passe dans Cookie n'est pas recommandé
Pourquoi avez-vous besoin i> pour stocker des mots de passe utilisateur dans un cookie?
Étant donné que les données postales peuvent être Sniff, donc je pensais utiliser Cookie avec cryptage pour envoyer des informations d'identification de connexion serait mieux que vous suggérez-vous?
Ce qui est faux laissant l'utilisateur entrer son mot de passe. Si vous voulez un système de «souvenir de moi», vous pouvez trier une sorte de jeton dans un cookie. Stocker les mots de passe dans un cookie est un énorme problème de sécurité.
Utilisez SSL pour protéger vos données publiées.