Maison > développement back-end > tutoriel php > Introduction à la technologie de cryptage et de décryptage des données sensibles en PHP

Introduction à la technologie de cryptage et de décryptage des données sensibles en PHP

王林
Libérer: 2023-07-05 11:10:02
original
1537 Les gens l'ont consulté

Introduction à la technologie de cryptage et de décryptage des données sensibles en PHP

Avec le développement rapide d'Internet, les problèmes de sécurité des informations sont devenus de plus en plus importants. Lors du développement d'applications Web, la protection des données sensibles des utilisateurs est cruciale. Pour garantir la sécurité des données, les données sensibles doivent souvent être cryptées et déchiffrées. Cet article présentera les techniques de cryptage et de décryptage de données sensibles couramment utilisées en PHP et fournira des exemples de code correspondants.

1. Technologie de cryptage

  1. Cryptage symétrique

L'algorithme de cryptage symétrique utilise la même clé pour le cryptage et le déchiffrement. En PHP, le chiffrement symétrique peut être implémenté à l'aide de l'extension mcrypt ou de l'extension openssl.

Exemple de code :

<?php
$key = "abc123";  // 密钥

function encrypt($data, $key) {
    $encrypted_text = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, '1234567890abcdef');
    return base64_encode($encrypted_text);
}

function decrypt($encrypted_data, $key) {
    $encrypted_text = base64_decode($encrypted_data);
    return openssl_decrypt($encrypted_text, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, '1234567890abcdef');
}

$original_data = "Hello world!";
$encrypted_data = encrypt($original_data, $key);
$decrypted_data = decrypt($encrypted_data, $key);

echo "原始数据:".$original_data."<br>";
echo "加密后的数据:".$encrypted_data."<br>";
echo "解密后的数据:".$decrypted_data."<br>";
?>
Copier après la connexion
  1. Cryptage asymétrique

L'algorithme de cryptage asymétrique utilise une paire de clés pour le cryptage et le déchiffrement, à savoir la clé publique et la clé privée. En PHP, le chiffrement asymétrique peut être implémenté à l'aide de l'extension openssl.

Exemple de code :

<?php
// 生成公钥和私钥
$config = array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
);

$res = openssl_pkey_new($config);
openssl_pkey_export($res, $private_key);
$public_key = openssl_pkey_get_details($res)["key"];

function encrypt($data, $public_key) {
    openssl_public_encrypt($data, $encrypted, $public_key);
    return base64_encode($encrypted);
}

function decrypt($encrypted_data, $private_key) {
    openssl_private_decrypt(base64_decode($encrypted_data), $decrypted, $private_key);
    return $decrypted;
}

$original_data = "Hello world!";
$encrypted_data = encrypt($original_data, $public_key);
$decrypted_data = decrypt($encrypted_data, $private_key);

echo "原始数据:".$original_data."<br>";
echo "加密后的数据:".$encrypted_data."<br>";
echo "解密后的数据:".$decrypted_data."<br>";
?>
Copier après la connexion

2. Technologie de décryptage

Qu'il s'agisse d'un cryptage symétrique ou d'un cryptage asymétrique, le décryptage est indispensable. En PHP, vous pouvez utiliser la fonction de décryptage correspondante pour décrypter les données cryptées.

  1. Déchiffrement symétrique

Le déchiffrement symétrique utilise la même clé pour le décryptage. Dans l'exemple de chiffrement symétrique ci-dessus, les données chiffrées peuvent être déchiffrées à l'aide de la même clé.

  1. Déchiffrement asymétrique

Le décryptage asymétrique nécessite l'utilisation d'une clé privée pour décrypter les données cryptées. Dans l'exemple de chiffrement asymétrique ci-dessus, les données chiffrées peuvent être déchiffrées à l'aide de la clé privée.

3. Notes

  1. Sécurité des clés

La sécurité des clés est la base du cryptage et du déchiffrement. Veuillez vous assurer que la clé est stockée en toute sécurité pour éviter tout accès illégal.

  1. Intégrité des données

Pendant le processus de cryptage et de décryptage, l'intégrité des données doit être garantie. L'intégrité des données peut être vérifiée en implémentant un code d'authentification de message (MAC).

  1. Sélection de l'algorithme de cryptage

Lors du choix d'un algorithme de cryptage, vous devez le choisir en fonction des besoins réels et de la sécurité. Les algorithmes de chiffrement couramment utilisés incluent AES, DES, RSA, etc.

Résumé :

Cet article présente la technologie de cryptage et de décryptage des données sensibles en PHP, y compris le cryptage symétrique et le cryptage asymétrique. La sécurité des données sensibles peut être assurée grâce à l’utilisation appropriée de la technologie de cryptage. Lors du développement d'applications Web, il est crucial de protéger les données sensibles des utilisateurs. Je pense que la technologie présentée dans cet article peut aider les lecteurs à améliorer la sécurité 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal