PHP, en tant que langage de script côté serveur populaire, nécessite le cryptage et le déchiffrement des données pour garantir la sécurité des données lors du traitement des données sensibles. Cet article présentera comment PHP effectue le cryptage et le déchiffrement des données.
(1) Générer la clé AES :
$key = random_bytes(32); // 生成一个32字节长的随机密钥
(2) Crypter les données :
$data = "敏感数据"; $encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); // 加密数据 $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC')); // 生成一个随机的初始向量
(3) Décrypter les données :
$decrypted = openssl_decrypt($encrypted, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); // 解密数据
(1) Générer une paire de clés RSA :
$config = array( "digest_alg" => "sha512", "private_key_bits" => 4096, "private_key_type" => OPENSSL_KEYTYPE_RSA, ); $res = openssl_pkey_new($config); // 生成RSA密钥对 openssl_pkey_export($res, $privateKey); // 导出私钥 $publicKey = openssl_pkey_get_details($res)['key']; // 获取公钥
(2) Crypter les données :
$data = "敏感数据"; openssl_public_encrypt($data, $encrypted, $publicKey); // 使用公钥加密数据
(3) Décrypter les données :
openssl_private_decrypt($encrypted, $decrypted, $privateKey); // 使用私钥解密数据
(1) Calcul de hachage des données d'origine :
$data = "原始数据"; $hash = md5($data); // 计算MD5哈希值 $hash = sha1($data); // 计算SHA1哈希值 $hash = hash('sha256', $data); // 计算SHA256哈希值
(2) Vérifiez la valeur de hachage :
$hash = "存储的哈希值"; if (md5($data) === $hash) { echo "哈希值一致"; } else { echo "哈希值不一致"; }
Résumé : PHP fournit une variété de cryptage et de décryptage lorsqu'il s'agit de méthodes de données sensibles , y compris les algorithmes de chiffrement symétriques, les algorithmes de chiffrement asymétriques et les algorithmes de hachage. Les développeurs peuvent choisir des algorithmes de chiffrement appropriés pour protéger la sécurité des données en fonction des besoins réels.
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!