PHP中OpenSSL加密问题整理


Posted in PHP onDecember 14, 2017

最近公司项目中有需要用到OpenSSL的加密和java端进行接口验证,再测试环境升级到PHP7的时候加密会出现错误,后来多方面检查终于找到原因所在:

PHP7环境下把openssl_get_privatekey方法换成openssl_pkey_get_private

需要转换一下秘钥,window环境和Linux环境下的秘钥格式有区别(暂时不确定是不是操作系统的关系)

PHP的秘钥验证需要加上头尾。

这里贴上附属方法

转换秘钥格式的方法:

function transJavaRsaKeyToPhpOpenSSL($content) {
    if ($content) {
      return trim(chunk_split($content, 64, "\n"));
    }
    return false;
  }

加头尾的方法:

function appendFlags($content, $isPublic = true) {
    if ($isPublic) {
      return "-----BEGIN PUBLIC KEY-----\n" . $content . "\n-----END PUBLIC KEY-----\n";
    }
    else {
      return "-----BEGIN PRIVATE KEY-----\n" . $content . "\n-----END PRIVATE KEY-----\n";
    }
  }

以上就是本次遇到OPENSSL加密问题的小经验,大家还有问题的话在下方留言讨论吧。

PHP 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
一个PHP+MSSQL分页的例子
Oct 09 PHP
生成静态页面的PHP类
Nov 25 PHP
php下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
使用 MySQL Date/Time 类型
Mar 26 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
PHP curl 获取响应的状态码的方法
Jan 13 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
PHP中Cookie的使用详解(简单易懂)
Apr 28 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 #PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 #PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
Dec 13 #PHP
Laravel使用消息队列需要注意的一些问题
Dec 13 #PHP
实例分析PHP中PHPMailer发邮件
Dec 13 #PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 #PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 #PHP
You might like
php代码书写习惯优化小结
2013/06/20 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
实例讲解PHP表单
2020/06/10 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
IE8 浏览器Cookie的处理
2009/01/31 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
最短的IE判断代码
2011/03/13 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
从零开始搭建一个react项目开发
2018/02/09 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
Python实现元素等待代码实例
2019/11/11 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
pandas的resample重采样的使用
2020/04/24 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
应届大学生求职信
2013/12/01 职场文书
考博专家推荐信模板
2013/12/02 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
浅谈python数据类型及其操作
2021/05/25 Python