PHP不同版本openssl调用参数有何兼容差异?

更新于
2026-09-23 06:18:38
0阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1231个文字,预计阅读时间需要5分钟。

PHP不同版本openssl调用参数有何兼容差异?

背景与问题解决方式:在老项目中重构支付宝部分代码时,整合支付宝新的SDK时发现,使用open_verify方式签名总是失败。最终发现是open_verify最后的参数传递有误。而open_sign也存在同样问题。本文主要说明open_verify的解决方式。

背景与问题解决方式

老项目重构支付宝部分代码整合支付宝新的sdk时发现验签总是失败,才发现是open_verify最后的参数传输问题。而open_sign同样如此。本文主要说明open_verify的解决方式和代码解析。而问题的解决方式也是修改最后的加密类型参数,解决方式代码如下:

// 将最后的常量OPENSSL_ALGO_SHA256修改成字符串 openssl_verify($data, base64_decode($sign), $res, "sha256WithRSAEncryption");

官方文档解释

上面只说了问题的出现与对应的解决方式,如果有兴趣继续了解该函数的,可以继续往下读,首先来看下官方文档对此函数的解释。

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1 ] )

参数注释

data

以前用来生成签名的数据字符串。

阅读全文

本文共计1231个文字,预计阅读时间需要5分钟。

PHP不同版本openssl调用参数有何兼容差异?

背景与问题解决方式:在老项目中重构支付宝部分代码时,整合支付宝新的SDK时发现,使用open_verify方式签名总是失败。最终发现是open_verify最后的参数传递有误。而open_sign也存在同样问题。本文主要说明open_verify的解决方式。

背景与问题解决方式

老项目重构支付宝部分代码整合支付宝新的sdk时发现验签总是失败,才发现是open_verify最后的参数传输问题。而open_sign同样如此。本文主要说明open_verify的解决方式和代码解析。而问题的解决方式也是修改最后的加密类型参数,解决方式代码如下:

// 将最后的常量OPENSSL_ALGO_SHA256修改成字符串 openssl_verify($data, base64_decode($sign), $res, "sha256WithRSAEncryption");

官方文档解释

上面只说了问题的出现与对应的解决方式,如果有兴趣继续了解该函数的,可以继续往下读,首先来看下官方文档对此函数的解释。

int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, mixed $signature_alg = OPENSSL_ALGO_SHA1 ] )

参数注释

data

以前用来生成签名的数据字符串。

阅读全文