首页 新闻 会员 周边

RSA PHP 转C#

0
悬赏园豆:40 [已解决问题] 解决于 2014-06-24 17:17

现在我知道PHP中RSA的公钥和私钥,但貌似C#的RSA中用公钥加密的结果不一致,求指导怎么转,还有就是私钥的话C#还需要很多个其他因子.

PHP中公钥格式:

$pubKey = '-----BEGIN PUBLIC KEY-----
UFOfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCivaicGCwPqH4cyy7S9DoNrlPF
AFcGrontMObMsoiXXXXXXXXXXXXXXXXXXXXXXLy7+KkElP48MyGlwIQAtNauC8
4lc+TOkyY22u/nIss5wHfG8FbsdT18xmG6F6C+3oAPKYKWd9pkLVKTyM3oN52bUg
O6YBBCC8lw0ukzrZkQIDAQAB
-----END PUBLIC KEY-----';

PHP私钥格式:

$priKey = '-----BEGIN RSA PRIVATE KEY-----
UTOCXAIBAAKBgQCivaicGCwPqH4cyy7S9DoNrlPFAFcGrontMObVsoiJarp8cKYY
rvmCE95vExWuWbbLy7+KkElP48MyGlwIQAtNauC84lc+TOkyY22u/nIss5wUfG8F
bsdT18xmG6F6C+3oAPKYM3oN52bUgO6YBBCC8lw0ukzrZkQIDAQAB
AoGBAJf7Lz+3g06MOFqDlhMEakLkjuQdCzZ/KOvMdKRKP5PFtNY53/0z
gYf12LSybwrkfNLTDjP4UgKSbPo+Wsw+lC9ahCbhhGHZ5wLkKInLKfXfxRL17j7r
fIBKlvYGlai78bTdR+/iTBAkEA07427OGtiic6
dsWfp/fskdS3HJEkFhzwPNtlfsHigT92U/AbzzjuzEdv3oU5uZp7qHwzPzumoDnD
ON47Vz6oJQJBAMTBeRZETTChvSRFfrhw+Wo4gcZ4YrLxpUPP9BqMZtRf
2A2182Zezs+MDgBDtP1BAPYA4qcI5QGPlXrZdNmlyXnPAgrVVE0gtygHx
O8wu9OxROc4WnM0LasDpC8W0//0CQCuc
LniO/wTudHvbvHFO7+7JZZr//28rMLRDuvrfsdHzx2K3L4t+WzrQBcy
6qTPiaT9IT+gqxJRyQkCQF7ozipBsRrN518H46QDUuVOtKsyuCRL1f
en1sHrCd7zEQTq+KxWpYGkPmdsPyq3oo5gaV7/a5Y2w=
-----END RSA PRIVATE KEY-----';

 

而C#中的RSA公钥格式:


<RSAKeyValue><Modulus>5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=</Modulus>
  <Exponent>AQAB</Exponent>
</RSAKeyValue>

私钥格式:

<RSAKeyValue><Modulus>5m9m14XH3oqLJ8bNGw9e4rGpXpcktv9MSkHSVFVMjHbfv+SJ5v0ubqQxa5YjLN4vc49z7SVju8s0X4gZ6AzZTn06jzWOgyPRV54Q4I0DCYadWW4Ze3e+BOtwgVU1Og3qHKn8vygoj40J6U85Z/PTJu3hN1m75Zr195ju7g9v4Hk=</Modulus>
 <Exponent>AQAB</Exponent><P>/hf2dnK7rNfl3lbqghWcpFdu778hUpIEBixCDL5WiBtpkZdpSw90aERmHJYaW2RGvGRi6zSftLh00KHsPcNUMw==</P>
 <Q>6Cn/jOLrPapDTEp1Fkq+uz++1Do0eeX7HYqi9rY29CqShzCeI7LEYOoSwYuAJ3xA/DuCdQENPSoJ9KFbO4Wsow==</Q>
 <DP>ga1rHIJro8e/yhxjrKYo/nqc5ICQGhrpMNlPkD9n3CjZVPOISkWF7FzUHEzDANeJfkZhcZa21z24aG3rKo5Qnw==</DP>
 <DQ>MNGsCB8rYlMsRZ2ek2pyQwO7h/sZT8y5ilO9wu08Dwnot/7UMiOEQfDWstY3w5XQQHnvC9WFyCfP4h4QBissyw==</DQ>
 <InverseQ>EG02S7SADhH1EVT9DD0Z62Y0uY7gIYvxX/uq+IzKSCwB8M2G7Qv9xgZQaQlLpCaeKbux3Y59hHM+KpamGL19Kg==</InverseQ>
 <D>vmaYHEbPAgOJvaEXQl+t8DQKFT1fudEysTy31LTyXjGu6XiltXXHUuZaa2IPyHgBz0Nd7znwsW/S44iql0Fen1kzKioEL3svANui63O3o5xdDeExVM6zOf1wUUh/oldovPweChyoAdMtUzgvCbJk1sYDJf++Nr0FeNW1RB1XG30=</D>
</RSAKeyValue>

 

请问只知道PHP的公钥和私钥的情况下如何转成C#版的。

蓝色狙击手的主页 蓝色狙击手 | 初学一级 | 园豆:9
提问于:2014-06-20 10:31
< >
分享
最佳答案
1
收获园豆:40
Launcher | 高人七级 |园豆:45045 | 2014-06-20 11:23

解析出来后加密的密文和PHP加密出来的不一致,求解。

蓝色狙击手 | 园豆:9 (初学一级) | 2014-06-20 16:32

@蓝色狙击手: 解析出来后,用 C# 的 RSA 加密后能用 C# 的 RSA 解密吗?

Launcher | 园豆:45045 (高人七级) | 2014-06-20 16:37

@Launcher: 还没试,但需要C#加密 然后PHP服务端进行解密;然后PHP返回密文,C#端进行解密!就是需要和PHP的保持一致,这样的话才能和它通讯。

蓝色狙击手 | 园豆:9 (初学一级) | 2014-06-20 16:43

@蓝色狙击手: 没试过就要先试一次。

Launcher | 园豆:45045 (高人七级) | 2014-06-20 16:46

@Launcher: 哈哈,用c#加密的可以用C#解密出来(刚测试完) 现在的问题是要保持和PHP一致。

蓝色狙击手 | 园豆:9 (初学一级) | 2014-06-20 16:51

@蓝色狙击手: 对照 RSA 算法,把 PHP 的加密的参数给出来。

Launcher | 园豆:45045 (高人七级) | 2014-06-20 16:55
其他回答(1)
0

看C#这密钥格式,所用的算法不一样吧.标准RSA就一个公钥一个私钥.不会有这么多个标签

没用C#的RSA算法,不太清楚``

吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-20 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册