Je cherche des fonctions à chiffrer et à déchiffrer des chaînes en PHP en utilisant une clé spécifiée. P>
Merci! P>
4 Réponses :
Commencez avec ceci: http://www.ibm. com / développeurworks / opensource / bibliothèque / os-php-crypt / p>
Après cela, jetez un coup d'œil à la réponse de Pascal Martin dans Comment puis-je chiffrer une chaîne en php? P>
Une implémentation de base OpenSSL J'ai déjà utilisé:
class MyEncryption
{
public $pubkey = '...public key here...';
public $privkey = '...private key here...';
public function encrypt($data)
{
if (openssl_public_encrypt($data, $encrypted, $this->pubkey))
$data = base64_encode($encrypted);
else
throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?');
return $data;
}
public function decrypt($data)
{
if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey))
$data = $decrypted;
else
$data = '';
return $data;
}
}
Je suppose que vous vouliez dire cryptage clé symétrique. McRypt soutient plusieurs algorithmes (comme AES, Tripel des). Il y a une capture cependant, il ne supporte aucun algorithme de rembourrage afin que vous ne puissiez pas récupérer la longueur d'origine. Vous avez 2 options pour contourner ce problème, P>
Ajoutez un champ de longueur devant votre texte clair. Dites utiliser les 4 premiers octets comme longueur. P> li>
PKCS # 5 Rembourrage vous-même. Il existe des exemples de code sur cette page: http: //www.php. net / manuel / fr / fonction.mcrypt-encrypt.php p> li> ol>
Avez-vous un style de cryptage spécifique à l'esprit?
Cette question est trop générale. Recherchez StackOverflow ou Google pour obtenir un pied sur le sujet PHP / cryptage.