在PHP中,使用不同的加密算法(如MD5、SHA1、SHA256)结合RSA算法进行私钥加密和公钥解密

// 生成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";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值