这几天一直困扰的php rsa签名验证问题终于解决了,在这里记录一下。据我所知,国内大部分支付接口都支持rsa签名验证,有的甚至只提供rsa验签。 支付接口采用的算法列表(我遇到过的): 建设银行网上银行 RSA签名(MD5withRSA) 联通短信支付 RSA签名(MD5wi
这几天一直困扰的php rsa签名验证问题终于解决了,在这里记录一下。据我所知,国内大部分支付接口都支持rsa签名验证,有的甚至只提供rsa验签。
支付接口采用的算法列表(我遇到过的):
Sign 验签数据准备:
php的openssl扩展里已经封装好了验签的方法openssl_verify。
如果在Windows下的php.ini需要开启Openssl模块:
立即学习“PHP免费学习笔记(深入)”;
extension=php_openssl.dll
这里再解释一下openssl_verify函数:
int openssl_verify ( string $data , string $signature , mixed $pub_key_id [, int $signature_alg = OPENSSL_ALGO_SHA1 ] )
openssl_verify() 函数来验证sign签名是否正确,是通过指定的data数据和公钥相关的pub_key_id来实现的。
新版本程序更新主要体现在:完美整合BBS论坛程序,用户只须注册一个帐号,即可全站通用!采用目前流行的Flash滚动切换广告 变换形式多样,受人喜爱!在原有提供的5种在线支付基础上增加北京云网支付!对留言本重新进行编排,加入留言验证码,后台有留言审核开关对购物系统的前台进行了一处安全更新。在原有文字友情链接基础上,增加LOGO友情链接功能强大的6种在线支付方式可选,自由切换。对新闻列表进行了调整,
0
从支付接口获取到的公钥Public key,如下:
—–BEGIN PUBLIC KEY—–
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxJUb3d2QTkW67SILT33Y
GqmP8HmXqtXpM5DPKFibkMs2f6tk+52qe3aOb4/bryqG754o5s1Yg/9o9duwE3VL
If9tuFVQ6TSrN2cacjDNXsW3aIkk6HdBvytrj/XJePQIXmjZZjPGqbDdItmJxUI+
HXYDxiaZIe4kuVRA8FbKr6iZ5uW9bfO5N2GY+IncPFFZivDa2Xq8kuOwxyZXi+cX
4W9LnsYrkq3jZ5/9RGNGzXJMs+GkFUKFqaHWhqW5xAwsKQcD8xiLuwAHt6wGIfy1
R2yQQQwetK02i44MvKRCEX8tlUYvCvr0T38B3kX2hHgmIxP3Cpv5jbJts+mMD7cG
iQIDAQAB
—–END PUBLIC KEY—–
注意这个是2048位的公钥应该是9行或者10行,不能为1行,不然PHP的openssl_pkey_get_public无法读取,pub_key_id的结果为false,我就在这个上吃了大亏。如果没有—–BEGIN PUBLIC KEY—– 和 —–END PUBLIC KEY—– 可以自己加上,最后保存到一个rsa_public_key.pem文件中。像这样:

如果是1024位的公钥,应该是6行或者7行。
(...)
Read the rest of PHP支付接口RSA验证 (76 words)
© Li Xi for LixiPHP, 2013. |
Permalink |
No comment |
Add to
del.icio.us
Post tags: DSA, MD5, MD5withRSA, openssl, RSA, SHA1withRSA, 公钥
Feed enhanced by Better Feed from Ozh
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号