6
votes

Crypter et déchiffrer la chaîne avec PHP de clé

Je cherche des fonctions à chiffrer et à déchiffrer des chaînes en PHP en utilisant une clé spécifiée.

Merci!


2 commentaires

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.


4 Réponses :


2
votes

Avez-vous essayé mecrypt ?


1 commentaires

Non, je n'ai pas mais je vais regarder ça aussi.



3
votes

Commencez avec ceci: http://www.ibm. com / développeurworks / opensource / bibliothèque / os-php-crypt /

Après cela, jetez un coup d'œil à la réponse de Pascal Martin dans Comment puis-je chiffrer une chaîne en php?


0 commentaires

5
votes

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;
    }
}


0 commentaires

0
votes

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,

  1. Ajoutez un champ de longueur devant votre texte clair. Dites utiliser les 4 premiers octets comme longueur.

  2. 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


0 commentaires