关于c的加密和解密(C实现国密SM2非对称算法进行加密解密加签验签)
项目的解决方案右键,选择“管理解决方案的 NuGet 程序包”,或者选择“菜单栏 - 工具 - NuGet 包管理器 - 管理解决方案的 NuGet 程序包”
通过项目解决方案右键
通过菜单栏选择
在搜索框中输入“Portable.BouncyCastle”进行查找,选择第一个进行安装,安装完成后即可进行引用。
引入程序包
2.SM2算法处理(加密、解密、加签、验签)2.1 SM2
方法调用过程:
var keys = SM2Util.GenerateKeyPair(); //获取密钥对
var str = "这是需要加密的字符串";
var publicKey = "04e595ad84dac1cd5a9a0387b66648853b3fb62c20985396ee27ef3413422c8c18575d3e8ea2dfff72a470294457455c53e41db63c38155b6a8b0c86397cf2a3e2";
var privateKey = "7aa40fea43dd8864006c245f28c9d719e5a33a2757cd3938ee40c1670082a49e";
var jmStr = SM2Util.Encrypt(str, publicKey); //加密字符串
var jmcStr = SM2Util.Decrypt(jmStr, privateKey); //解密字符串
var signStr = SM2Util.Sign(jmStr, privateKey); //对加密字符串进行加签
var verifyStr = SM2Util.VerifySign(jmStr, publicKey, signStr); //对签名进行验签
以下是方法调用调试结果:
加密字符串
解密字符串
加签
验签
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com