已知公钥、被签名字符串原文(明文)、密文,要求验证密文是否合法,求C#实现方法
(
公钥保存于.pem文件中,内容如下:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHakkNTyEnkZxRAReB2b4yYwub
O0p6efXw7eYX4NRfzocQ+LAHMAgQldlM40fKx75jJmS9SgTTQNFLbaiS9ffNYhy/
sLd6DHZM/jPN74e4oi6ENcEMeKYGUvTz04qKCqzwW2YcxoO83myqyJMHkwII/T4e
LzGNr61WWkdEwOdLLwIDAQAB
-----END PUBLIC KEY-----
)页面地址:
http://wiki.sdoa.sdo.com/index.php?title=%E5%88%92%E5%B8%90%E5%85%85%E5%80%BC%E6%8E%A5%E5%8F%A3
java实现方法:
http://wiki.sdoa.sdo.com/index.php?title=JAVA_RSA_HZ
PHP实现方法:
http://wiki.sdoa.sdo.com/index.php?title=PHP_RSA就是没有C#……。谢谢各位了。
(
公钥保存于.pem文件中,内容如下:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHakkNTyEnkZxRAReB2b4yYwub
O0p6efXw7eYX4NRfzocQ+LAHMAgQldlM40fKx75jJmS9SgTTQNFLbaiS9ffNYhy/
sLd6DHZM/jPN74e4oi6ENcEMeKYGUvTz04qKCqzwW2YcxoO83myqyJMHkwII/T4e
LzGNr61WWkdEwOdLLwIDAQAB
-----END PUBLIC KEY-----
)页面地址:
http://wiki.sdoa.sdo.com/index.php?title=%E5%88%92%E5%B8%90%E5%85%85%E5%80%BC%E6%8E%A5%E5%8F%A3
java实现方法:
http://wiki.sdoa.sdo.com/index.php?title=JAVA_RSA_HZ
PHP实现方法:
http://wiki.sdoa.sdo.com/index.php?title=PHP_RSA就是没有C#……。谢谢各位了。
参考
rsa 加密 解密 签名 验证
请问根据你的代码,我是不是可以通过如下代码来验证密文是否合法呢:
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
RSAParameters paraPub = PemConverter.ConvertFromPemPublicKey(公钥);
RSACryptoServiceProvider rsaPub = new RSACryptoServiceProvider();
rsaPub.ImportParameters(paraPub);
if (rsaPub.VerifyData(Encoding.UTF8.GetBytes(原文), md5, Encoding.UTF8.GetBytes(密文)))
{
//合法
}