脚本宝典收集整理的这篇文章主要介绍了关于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";
}
}
只有踩了坑才会知道有很多东西还是要学习的啊
以上是脚本宝典为你收集整理的关于PHP的OpenSSL的加密问题全部内容,希望文章能够帮你解决关于PHP的OpenSSL的加密问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。