• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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加密问题的小经验,大家还有问题的话在下方留言讨论吧。

    您可能感兴趣的文章:
    • 升级 PHP7.1 后 openssl 解密 mcrypt AES 数据不兼容问题的处理方法
    • PHP7.1中使用openssl替换mcrypt的实例详解
    • PHP 使用openssl 扩展实现公钥加密的方法
    • php无需编译安装openssl扩展的实现方法
    • linux环境下安装PHP的OpenSSL扩展的方法讲解
    • php7安装openssl扩展方法
    • PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法详解
    • PHP中使用OpenSSL生成证书及加密解密
    • 详解PHP版本兼容之openssl调用参数
    上一篇:利用PHP判断是手机移动端还是PC端访问的函数示例
    下一篇:PHP实现数组的笛卡尔积运算示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP中OpenSSL加密问题整理 PHP,中,OpenSSL,加密,问题,