Maison >développement back-end >tutoriel php >Quelles sont les méthodes de cryptage et de décryptage php ?

Quelles sont les méthodes de cryptage et de décryptage php ?

WBOY
WBOYoriginal
2024-02-23 15:09:04892parcourir

Quelles sont les méthodes de cryptage et de décryptage php ?

Quelles sont les méthodes de cryptage et de décryptage PHP ? Des exemples de code spécifiques sont nécessaires

Avec le développement continu de la technologie réseau, la sécurité des données attire de plus en plus d'attention. Dans le processus de développement Web, la gestion et la protection des informations sensibles des utilisateurs sont un élément essentiel.

PHP, en tant que langage de script largement utilisé dans le développement Web, fournit une variété de méthodes de cryptage et de décryptage des données. Plusieurs méthodes de cryptage et de déchiffrement couramment utilisées seront présentées ci-dessous et des exemples de codes correspondants seront fournis.

1. Cryptage symétrique
L'algorithme de cryptage symétrique utilise la même clé pour le cryptage et le déchiffrement. Les algorithmes de chiffrement symétriques courants incluent DES, 3DES, AES, etc.

  1. Cryptage et décryptage DES

function des_encrypt($data, $key) {

$data = openssl_encrypt($data, 'DES-ECB', $key, OPENSSL_RAW_DATA);
return base64_encode($data);

}

function des_decrypt($data, $key) {

$data = base64_decode($data);
return openssl_decrypt($data, 'DES-ECB', $key, OPENSSL_RAW_DATA);

}

$key = ' secret_key';
$data = 'Bonjour tout le monde !';
$encrypted_data = des_encrypt($data, $key);
$decrypted_data = des_decrypt($encrypted_data, $key);
echo $encrypted_data .
echo $decrypted_data . $key ) {

$data = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, '1234567890123456');
return base64_encode($data);

}

$key = 'secret_key';
    $data = 'Bonjour tout le monde !';
  1. $encrypted_data = aes_encrypt($data, $key);
  2. $decrypted_data = aes_decrypt($encrypted_data, $key );
echo $encrypted_data . "

";
echo $decrypted_data . "

";

?>

2. Les algorithmes de chiffrement asymétriques courants incluent RSA, DSA, etc.

RSA Encryption and Decryption



& lt ;? Php
Fonctionnement RSA_ECCRYPT ($ DATA, $ public_key) {

$data = base64_decode($data);
return openssl_decrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, '1234567890123456');

}

function rsa_decrypt ($ data, $ private_key) {
openssl_public_encrypt($data, $encrypted, $public_key);
return base64_encode($encrypted);

}


$ public_key = file_get_content s ('public.key');

$private_key = file_get_contents('private.key');
    $data = 'Bonjour tout le monde !';
  1. $encrypted_data = rsa_encrypt($data, $public_key);
  2. $decrypted_data = rsa_decrypt ($encrypted_data, $private_key);
echo $encrypted_data . "

";
echo $decrypted_data "

";

?>

3. Algorithme de hachage

L'algorithme de hachage est un algorithme de cryptage unidirectionnel qui. Impossible de déchiffrer, souvent utilisé pour le stockage des mots de passe et la vérification de l'intégrité des données. Les algorithmes de hachage courants incluent MD5, SHA1, SHA256, etc.

MD5 hash


$data = 'Bonjour tout le monde !';
$hashed_data = md5($data);
echo $hashed_data "
";
?>

SHA256. hash

    $data = 'Bonjour tout le monde !';$hashed_data = hash('sha256', $data);
echo $hashed_data '

';
?>

Ce qui précède. sont des méthodes de cryptage et de décryptage couramment utilisées en PHP et des exemples de code correspondants. Dans les applications pratiques, des algorithmes et des méthodes de chiffrement appropriés doivent être sélectionnés en fonction de circonstances spécifiques pour garantir la sécurité et la fiabilité des données. Dans le même temps, il convient également de prêter attention au stockage et à la gestion sécurisés des clés afin d'éviter que la fuite des clés ne provoque le piratage des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn