C# 微信付款到个人银行 RSA公钥问题

微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_7&index=4

我按照文档的提示已经获取到RSA公钥,然后再通过openssl命令将公钥转换,PKCS#8时,openssl则会报错:
unable to load Public Key
220:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:708:Expecting: RSA PUBLIC KEY

请教各位高人指教!

检查以下公钥的生产,应该是公钥文件不正确,确保公钥没包含其他的字符

公钥是通过微信api请求回来的,查了好多次,查不出问题

兄弟,怎么解决的,我也是用C#来弄这个企业付款到个人银行卡,可总是返回“解密银行卡和户名出错”,方便加我QQ吗: 512350079

在转换PKCS#1到PKCS#8时
1. 一定不要移除换行字符
2. windows 下保存为UTF-8 无BOM格式

在Linux下转换

最直接的方式,在Linux下新建的文件,把微信请求回来的public key,粘贴进去,在转换,亲测成功

RSA属于非对称加密,不管是用RSA加密还是做签名,每次得到的密文都是不一样的
如果想让同一个字符串加密结果是一样的,可以使用对称加密算法,如DES,ASE,DESede

希望能够帮助你。

http://blog.csdn.net/delphiwcdj/article/details/50578867,可以参考下这篇文章试下