首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP中OpenSSL加密问题整理

PHP中OpenSSL加密问题整理

作者头像
用户8664418
修改2021-07-13 18:12:20
修改2021-07-13 18:12:20
6130
举报
文章被收录于专栏:自留地2自留地2

最近公司项目中有需要用到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加密问题的小经验,大家还有问题的话在下方留言讨论吧。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档