先在centos安装openssl,然后开始:
//生成私钥
openssl genrsa -out rsa_private_key.pem 1024
//生成公钥
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
//将私钥和公钥文件放在网站目录开始测试
<?php //请开启php-openssl扩展 $privatefile='rsa_private_key.pem'; $publicfile ='rsa_public_key.pem'; //获取私钥 $privateKey=openssl_pkey_get_private(file_get_contents($privatefile)); //获取公钥 $publicKey = openssl_pkey_get_public(file_get_contents($publicfile)); if(!($privateKey && $publicKey)){ exit('私钥或公钥不可用!'); } //加密前的数据.加密传输订单编号 $orderid='MH201712091500107100'; //加密后的数据.用于网络中的传输.提前定义为空 $resorderid=''; //开始用私钥加密 if (openssl_private_encrypt($orderid, $resorderid, $privateKey)) { /** * 加密后可以base64_encode后方便在网址中传输或者打印,否则打印为乱码 */ echo '加密后'.base64_encode($resorderid)."\r\n"; } else { die('加密失败'); } //解密后的数据,提前定义为空 $backorderid=''; //开始用公钥解密 if (openssl_public_decrypt($resorderid, $backorderid, $publicKey)) { echo '解密后'.$backorderid."\r\n"; } else { die('解密失败'); } ?>
您也可以使用公钥加密,私钥解密。
注意:
(1).php里openssl只能用pem格式文件
(2).php使用PKCS#8格式的公钥或者私钥,例如微信支付企业打款到个人银行卡提供的密钥是PKCS#1格式的公钥,需要通过以下命令转换
PKCS#1 转 PKCS#8: openssl rsa -RSAPublicKey_in -in <filename> -pubout PKCS#8 转 PKCS#1: openssl rsa -pubin -in <filename> -RSAPublicKey_out
header() 函数向客户端发送原始的 HTTP 报头。(官方解释)通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可浏览器...
应用场景:PHP模拟购买,商品数量大于0才能购买常见代码:<?php //连接数据库 $con=mysqli_connect("localhost","ihuohuo","927464cy","ihuohuo");...
(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...
今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
posix_ttyname - 获取当前终端设备名称。<?php var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...