已知公钥、被签名字符串原文(明文)、密文,要求验证密文是否合法,求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#……。谢谢各位了。

解决方案 »

  1.   

    rsa解密
      

  2.   

    http://blog.csdn.net/llwinnner/archive/2009/03/21/4011936.aspx
    参考 
    rsa 加密 解密  签名 验证
      

  3.   

    TO wuyq11:
    请问根据你的代码,我是不是可以通过如下代码来验证密文是否合法呢:
    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(密文)))
    {
        //合法
    }
      

  4.   

    http://www.cnblogs.com/think/archive/2009/09/09/ConvertPem2RSAParemeters.html