// 生成RSA密钥对
$keyPair = openssl_pkey_new(array(
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
));
// 获取私钥和公钥
openssl_pkey_export($keyPair, $privateKey);
$publicKey = openssl_pkey_get_details($keyPair)['key'];
// 要加密的数据
$data = "Hello, World!";
// 使用MD5加密后的数据进行RSA加密和解密
$encryptedMD5 = '';
openssl_private_encrypt(md5($data), $encryptedMD5, $privateKey);
$decryptedMD5 = '';
openssl_public_decrypt($encryptedMD5, $decryptedMD5, $publicKey);
// 使用SHA1加密后的数据进行RSA加密和解密
$encryptedSHA1 = '';
openssl_private_encrypt(sha1($data), $encryptedSHA1, $privateKey);
$decryptedSHA1 = '';
openssl_public_decrypt($encryptedSHA1, $decryptedSHA1, $publicKey);
// 使用SHA256加密后的数据进行RSA加密和解密
$encryptedSHA256 = '';
openssl_private_encrypt(hash('sha256', $data), $encryptedSHA256, $privateKey);
$decryptedSHA256 = '';
openssl_public_decrypt($encryptedSHA256, $decryptedSHA256, $publicKey);
// 打印结果
echo "Original Data: $data\n";
echo "MD5 Encrypted: " . base64_encode($encryptedMD5) . "\n";
echo "MD5 Decrypted: $decryptedMD5\n";
echo "SHA1 Encrypted: " . base64_encode($encryptedSHA1) . "\n";
echo "SHA1 Decrypted: $decryptedSHA1\n";
echo "SHA256 Encrypted: " . base64_encode($encryptedSHA256) . "\n";
echo "SHA256 Decrypted: $decryptedSHA256\n";
在PHP中,使用不同的加密算法(如MD5、SHA1、SHA256)结合RSA算法进行私钥加密和公钥解密
最新推荐文章于 2024-07-22 14:06:42 发布