Rumah > pembangunan bahagian belakang > tutorial php > PHP+openssl扩展实现公钥加密步骤详解

PHP+openssl扩展实现公钥加密步骤详解

php中世界最好的语言
Lepaskan: 2023-03-26 12:20:02
asal
1912 orang telah melayarinya

这次给大家带来PHP+openssl扩展实现公钥加密步骤详解,PHP+openssl扩展实现公钥加密的注意事项有哪些,下面就是实战案例,一起来看一下。

如下所示:

1

2

3

4

// 生成私钥

# openssl genrsa -out rsa_private_key.pem 1024

// 生成公钥

# openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

Salin selepas log masuk

下面是示例代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?php

// openssl 扩展检测

var_dump(extension_loaded(&#39;openssl&#39;));

$prikey = openssl_pkey_get_private(file_get_contents(&#39;rsa_private_key.pem&#39;)); //私钥

$pubkey = openssl_pkey_get_public(file_get_contents(&#39;rsa_public_key.pem&#39;)); //公钥

// 明文数据

$data = &#39;test-string!&#39;;

/**

 * 可能会出的问题:Don&#39;t know how to get public key from this private key

 * 原因:PHP 的 openssl 扩展和 Apache 的不一致导致, 当然在命令行下运行程序则不会出现此问题

 */

// 公钥加密

$encrypt_data = &#39;&#39;;

openssl_public_encrypt($data, $encrypt_data, $pubkey);

$encrypt_data = base64_encode($encrypt_data);

echo $encrypt_data;

echo &#39;<br/>&#39;;

// ------------------------------------------------------------

// 私钥解密

$encrypt_data = base64_decode($encrypt_data);

openssl_private_decrypt($encrypt_data, $decrypt_data, $prikey);

var_dump($decrypt_data);

Salin selepas log masuk

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

PHP本地进行API接口测试步骤详解

php服务端集成支付宝APP支付步骤详解

PHP使用PDO操作mysql读取数据步骤详解

Atas ialah kandungan terperinci PHP+openssl扩展实现公钥加密步骤详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan