php 的rsa加密与解密
2015-09-29 16:43
489 查看
系统:centos6.5
linux系统生成公私钥对方法:
openssl genrsa -out rsa_private_key.pem 1024
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem
下面是代码:
公钥加密私钥解密
私钥加密公钥解密
linux系统生成公私钥对方法:
openssl genrsa -out rsa_private_key.pem 1024
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem
下面是代码:
公钥加密私钥解密
$source='abcde'; $pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r'); $res = openssl_get_publickey($pkeyid); openssl_public_encrypt($source,$crypttext,$res); echo $crypttext; $pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r'); $res2 = openssl_get_privatekey($pkeyid); if(openssl_private_decrypt($crypttext,$data,$res2)){ echo $data; }else{ echo "false"; }
私钥加密公钥解密
$source='abcde'; $pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r'); $res = openssl_get_privatekey($pkeyid); openssl_private_encrypt($source,$crypttext,$res); echo $crypttext; $pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r'); $res2 = openssl_get_publickey($pkeyid); if(openssl_public_decrypt($crypttext,$data,$res2)){ echo $data; }else{ echo "false"; }
相关文章推荐
- php正则匹配文章中的远程图片地址并下载图片至本地
- MAC下php环境搭建
- RTP协议分析
- 新手推荐:IIS+PHP+MYSQL环境配置教程
- php cli模式的一些"坑"
- php中&符号什么意思
- Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
- php和mysql学习之旅
- PHP代码优化技巧小结
- PHP 5时区
- 《php和mysql web开发》笔记——第4章 字符串操作与正则表达式
- yii2-pjax更新
- php提取身份证号码中的生日日期以及验证是否为成年人的函数
- php cli命令行模式运行mysql_connect不能连接和运行框架程序
- PHP安装模式cgi、fastcgi、php_mod比较
- PHP中的密码加密的解决方案
- PHP编程效率的20个要点
- LNMP系列——php编程建议规范
- 利用TerraGate Service传输Skyline MTP案例
- thinkphp之无限分类