首页IT科技国密SM2算法(JS加密,C#、Java解密)

国密SM2算法(JS加密,C#、Java解密)

时间2025-05-03 17:37:46分类IT科技浏览3271
导读:常见的渗透测试会将网站登录时密码使用明文传输视为风险。推荐使用国密算法或者RSA算法对密码进行加密传输。...

常见的渗透测试会将网站登录时密码使用明文传输视为风险           。推荐使用国密算法或者RSA算法对密码进行加密传输                。

RSA加密(JS加密           ,C#           、Java解密)请参考《RSA对称加密(JS加密                ,C#                、Java解密)》​​​​​​

本文描述国密SM2算法的实现     。

一     、工作原理 前端js使用公钥进行加密     ,后端使用私钥进行解密(后端可以是C#或java语言)      。

二           、实现步骤

为了方便验证加密                、解密结果      ,本文以一组固定的公钥和私钥进行演示(公钥和私钥后文有描述如何产生)                。

公钥:04F59485B23304990ED45E42521BE504D0DE358B9E4031A172EF48700071AF985A8EA8B12BB479E24152814EE61840932BFFF5B3B1657C9CF50A61756B1D901E1C

私钥:

78AEBAE7DE025B6954357DB327F4AE412B3657B1E1ED36F89927C065155DBA9A

(一)JS前端加密

直接看demo吧                ,代码参考网页源代码          。

 在线演示地址 每次加密结果都不一样      。

(二)Java SM2加解密

我这里使用的是VScode调试Java代码                 。整个程序结构大概像这样:

注意:Java加解密使用的是 bcprov-jdk16-1.46.jar 这个版本的包          。

(完整代码见文末下载链接)

(三)C# SM2加解密

写了个调试工具          ,大概长这样:

注意:C#加解密使用的是 BouncyCastle.Crypto.dll      ,版本为:1.9.0.1                 ,不同版本加密代码不一样          ,折腾这个问题折腾了挺久。

完整代码下载:

https://download.csdn.net/download/a497785609/87459516

备用下载地址:

https://qingshanboke.com/uploadfiles/demo/sm2.rar 

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
企业服务云平台是做什么(企业用云服务器怎么选择硬件配置) 美国服务器在国内访问慢(如何给美国服务器提速)