本篇文章主要给大家讲解了PHP中OpenSSL加密遇到的问题整理以及相关的处理办法,一起参考学习下。
最近公司项目中有需要用到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中OpenSSL加密问题整理
基础教程推荐
猜你喜欢
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP中的错误及其处理机制 2023-06-04
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP命名空间简单用法示例 2022-12-01
- 使用PHP开发留言板功能 2023-03-13