框架帮助文件中有详细的例子,我就在这里引一下吧.生成签名:byte[] content ;//所要传输的内容
byte[] signcontent;//生成带签名的数据RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();//生成公私匙对//传递RSA产生私匙
RSAPKCS1SignatureFormatter RSAFormater = RSAPKCS1SignatureFormatter(RSA);//指定加密算法
RSAFormater.SetHashAlgorithm("SHA1");//生成签名数据
signcontent = RSAFormater.CreateSignature(content)验证签名:如果想正确验证签名,则在上面例子中
content,signcontent,及RSA.ExportParameters()方法产生的RSAParameters的两个属性即:模数:Modulus,指数Exponent均为byte[],两者来确定公匙.即content,signcontent,Modulus,Exponent均需一起传给验证方.RSAParameters RSAKeyInfo;//公匙
RSAKeyInfo.Modulus = Modulus;//模数
RSAKeyInfo.Exponent = Exponent;//指数RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.ImportParameters(RSAKeyInfo);//导入公匙RSAPKCS1SignatureDeformatter RSADeformater = new RSAPKCS1SignatureDeformatter(RSA);RSADeformater.SetHashAlgorithm("SHA1");//这里指定的须与生成的算法一致RSADeformatter.VerifySignature(content, signcontent);//返回是否验证成功