在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!";

// 使用MD5RSA进行加密和解密
$encryptedMD5RSA = '';
openssl_public_encrypt($data, $encryptedMD5RSA, $publicKey, OPENSSL_PKCS1_PADDING);
$decryptedMD5RSA = '';
openssl_private_decrypt($encryptedMD5RSA, $decryptedMD5RSA, $privateKey, OPENSSL_PKCS1_PADDING);

// 使用SHA1RSA进行加密和解密
$encryptedSHA1RSA = '';
openssl_public_encrypt($data, $encryptedSHA1RSA, $publicKey, OPENSSL_PKCS1_PADDING);
$decryptedSHA1RSA = '';
openssl_private_decrypt($encryptedSHA1RSA, $decryptedSHA1RSA, $privateKey, OPENSSL_PKCS1_PADDING);

// 使用SHA256RSA进行加密和解密
$encryptedSHA256RSA = '';
openssl_public_encrypt($data, $encryptedSHA256RSA, $publicKey, OPENSSL_PKCS1_PADDING);
$decryptedSHA256RSA = '';
openssl_private_decrypt($encryptedSHA256RSA, $decryptedSHA256RSA, $privateKey, OPENSSL_PKCS1_PADDING);

// 打印结果
echo "Original Data: $data\n";
echo "MD5RSA Encrypted: " . base64_encode($encryptedMD5RSA) . "\n";
echo "MD5RSA Decrypted: $decryptedMD5RSA\n";
echo "SHA1RSA Encrypted: " . base64_encode($encryptedSHA1RSA) . "\n";
echo "SHA1RSA Decrypted: $decryptedSHA1RSA\n";
echo "SHA256RSA Encrypted: " . base64_encode($encryptedSHA256RSA) . "\n";
echo "SHA256RSA Decrypted: $decryptedSHA256RSA\n";

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值