RSA加密解密与签名验证

mac2022-06-30  21

关于RSACryption帮助类定义见RSACryption

一、加密与解密

//定义明文和密文变量 string plaintext = "天道酬勤,厚德载物!"; string ciphertext = ""; //产生密钥 string prikey = "", pubkey = ""; rsa.RSAKey(out prikey, out pubkey); //加密解密过程 ciphertext = rsa.RSAEncrypt(pubkey, plaintext); plaintext = rsa.RSADecrypt(prikey, ciphertext); View Code

 

二、签名与验证

//获取明文Hash值 byte[] plaintextHash = null; rsa.GetHash(plaintext, ref plaintextHash); //获取签名密文 string SignatureCiphertext = null; rsa.SignatureFormatter(prikey, plaintextHash, ref SignatureCiphertext); //验证 string verify = rsa.SignatureDeformatter(pubkey, plaintextHash, SignatureCiphertext) ? "OK!没问题" : "NO!内容被篡改了"; View Code

 

Tips:利用RSA的签名和验证功能还可简单实现软件注册码功能,签名即注册码,验证即验证。

相关链接

RSA分段加密【解决“不正确的长度”的异常】

转载于:https://www.cnblogs.com/njl041x/p/3872916.html

相关资源:C#RSA加密解密签名和验证签名的小例子
最新回复(0)