php生成RSA公钥私钥方法-OPENSSL

摘要:
一,环境windows+php7.2二,方法实现$config=array('config'=˃'D:phpwwwrootphpextrassslopenssl.cnf',  //安装PHP7会自带这个配置文件'digest_alg'=˃'sha256',                //可以用openssl_get_md_methods()查看支持的加密方法'private_key_bits'

一,环境

windows + php7.2

二,方法实现

$config = array(
'config' =>'D:phpwwwrootphpextrassslopenssl.cnf',  //安装PHP7会自带这个配置文件
'digest_alg' => 'sha256',                 //可以用openssl_get_md_methods() 查看支持的加密方法
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
);
$res = openssl_pkey_new($config);
openssl_pkey_export($res, $private_key_pem,null,$config);
$details = openssl_pkey_get_details($res);
$public_key_pem = $details['key'];
echo '<pre>';
var_dump(array('privKey' => $private_key_pem, 'pubKey' => $public_key_pem));

php生成RSA公钥私钥方法-OPENSSL第1张

三,生成的公钥私钥验证

$data = "PHP";

openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256);

$r = openssl_verify($data, $signature, $public_key_pem, OPENSSL_ALGO_SHA256);
var_dump($r);

四,用OPENSSL实现可逆的加密运算替代php7.1之前的mcrypt

$iv = openssl_random_pseudo_bytes(16);

function encrypt($input) {
$data = openssl_encrypt($input, 'AES-256-CBC', 'password', OPENSSL_RAW_DATA,$iv));
$data = base64_encode($data);
return $data;
}
function decrypt($input) {
$decrypted = openssl_decrypt(base64_decode($input), 'AES-256-CBC', 'password', OPENSSL_RAW_DATA,$iv);
return $decrypted;
}

免责声明:文章转载自《php生成RSA公钥私钥方法-OPENSSL》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VirtualBox安装UbuntuCocos2d-x图片资源加密下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

2、k8s api访问-token、RBAC、证书

1、token方式使用k8s restful api思维导图 https://liumiaocn.blog.csdn.net/article/details/100518110 token方式使用k8s restful api思维导图 2、apiserver认证 2.1、Kubernetes apiserver认证 Kubernetes apiserve...

php session跨页面传递 session值丢失问题

1、session_start();应该尽量放置到页面的顶部; 2、如果php.ini里面没有配置 session Autostart的话,每次会话之前,都得手动开启session:session_start(); 3、session是php里面的超全局变量,跟$_GET,$_POST,$_SERVER一样,所以使用的时候必须大写:$_SESS...

Docker pull php:7.1-fpm的php.ini配置修改

今天,换了 Deepin 操作系统,开发环境是通过 Docker 搭建的,具体结构如下: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME...

php 递归 迭代

阶乘的求解思路: 5! = 5 * 4! 5! = 5 * 4 * 3! 5! = 5 * 4 * 3 * 2! 5! = 5 * 4 * 3 * 2 * 1! 1! =1; 计算5的阶乘时,没有立即计算出结果,需要求更低的阶乘 求5 的阶乘,核心:求其他数的阶乘。 定义一个求阶乘的函数fn: fn(5) = 5 * fn(4) 剩下的...

源码安装LNMP与搭建Zabbix

系统环境:CentOS release 6.5 (Final) 搭建Zabbix 3.0对PHP环境要求>= 5.4 一、下载NMP的软件包: N:wget http://nginx.org/download/nginx-1.8.0.tar.gz P:wget http://cn2.php.net/distributions/php-5.6.28.t...

Dockerfile构建php镜像

简单介绍一下Dockerfile: FROM centos:7 表示依赖centos:7版本的镜像,如果没有对应的镜像,会自动拉去最新的cenos:7镜像 RUN yum -y install libxml2 表示执行某一条命令 ENV 表示构建镜像过程中的环境变量,执行的时候可用 ENTRYPOINT 表示类似CMD命令,执行某条指令,比如执行nginx...