关于PHP的OpenSSL的加密问题

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了关于PHP的OpenSSL的加密问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. php7环境下把openssl_get_PRivatekey方法换成openssl_pkey_get_private
  2. 需要转换一下秘钥,window环境和Linux环境下的秘钥格式有区别(暂时不确定是不是操作系统的关系)
  3. 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,请注明来意。