建行生活H5对接求助
![![![加解密实例]


##用JAVA跑加解密一切正常
使用PHP openssl_pkey_get_private,openssl_private_decrypt系列函数解密都是空字符串,另外使用ChatGPT翻译JAVA代码成PHP也无法使用,有没有小伙伴对接过建行生活遇到这种情况
![这个是PHP测试代码]
![]

关于 LearnKu
网上搜到唯一的文章blog.csdn.net/qq_33124471/article/... :cry:
方法什么的都没问题,分段解密不正确
现成sdk都有,直接用Java
有没有可能php的分块获取的大小有问题[doge]
www.cnblogs.com/xuan52rock/p/11023... 拿走 不谢。加密 算法 有不一致。
大致原因,PHP 加密 规则 java 加密规则不一致。你这边发生错误的原因,看看加密规则
想起来了, windows 下加密 使用功能的机制 和 linux 加密机制也不一致。 建议你在centos 环境下测试加密。自己分析过openssl 加密的源码,解释完毕。
这种情况。容易被。java同事误解 ,什么php 来个解密都 处理不了,认为PHP垃圾。 你就 接受他们的鄙视。
我当初是这么解决的。希望能帮助到你
可以看一下官方文档描述这么写是否可行,加密用私钥,解密用公钥,解密用openssl_public_decrypt,文档链接
之前遇到一次是openssl默认用128和Java加密对不上,改成sha-256规则加密一样了,只要有rsa这种openssl就和Java加密不一致
Java 使用的秘钥格式, PKCS8 的,比如上面截取你的代码:

PHP 使用的是PKCS1 的,我之前对接过 Java 接口,使用 PKCS8 格式的秘钥是不行的。参考链接

但是 PKCS8 和 PKCS1 类型的秘钥是可以转换的(以下是支付宝助手工具提供的转换):

但也可以通过一些命令,参考链接

试下这个行吗,这个是浦发的;支付通道我大大小小对接了20多个,我的感受是没有php对接不了的支付通道;如果有,那一定是对接的姿势不正确
openssl版本问题 openssl v1.1以上版本是不支持128加密的