PHP借助OpenSSL扩展实现SHA256withRSA签名与验证:附示例代码
在PHP中使用SHA256withRSA算法进行签名,通过OpenSSL扩展来实现。以下是使用SHA256withRSA签名和验证的示例代码: ```php <?php // 待签名的数据 $data = 'Hello, world!'; // 生成RSA密钥对 $key = openssl_pkey_new(array( 'private_key_bits' => 2048, 'private_key_type' => OPENSSL_KEYTYPE_RSA)); // 提取私钥 openssl_pkey_export($key, $privateKey); // 提取公钥 $details = openssl_pkey_get_details($key); $publicKey = $details['key']; 使用私钥对数据进行签名openssl_sign($data, $signature, $privateKey "sha256WithRSAEncryption"); // 输出签名 echo "Signature: " . base64_encode($signature) .n"; // 使用公钥验证签 $result = openssl_verify($data,signature, $publicKey, "sha256WithRSAEncryption"); if ($result ==1) { echo "Signature is\n"; } elseif ($result == 0) { echo " is invalid\n"; } else { "Error while verifying signature\n"; } ``` 以上示例代码生成了RSA密钥对,使用私钥对数据进行签名,然后使用公钥验证签名的有效性。 ######[AI写代码神器 | 816点数解答 | 2023-12-12 09:48:36]
- 代码纠错:从“std::uno”笔误到完整 C++ 网络程序的修正与优化(阿里通义 | 465点数解答 | 2024-11-23 20:41:37)249
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)44
- .htaccess 配置:文件访问限制、重写规则大揭秘(GPT | 165点数解答 | 2024-09-12 17:05:58)264
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- Typecho 博客评论模板深度剖析:功能、问题与改进建议(阿里通义 | 718点数解答 | 2025-08-08 13:24:09)180
- PHP 代码问题深度剖析:安全、可读、性能与兼容改进方案(字节豆包 | 2007点数解答 | 2025-08-08 13:25:08)263
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)281
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)278
- 解密iOS开发:Category、Extension与继承的区别大揭秘(阿里通义 | 292点数解答 | 2023-11-08 00:38:19)234
- iOS开发大揭秘:Category、Extension与继承的区别详解 (百度文心 | 316点数解答 | 2023-11-09 17:40:23)221
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)85
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)277