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

这篇具有很好参考价值的文章主要介绍了国密SM2算法(JS加密,C#、Java解密)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

二、实现步骤

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

公钥:04F59485B23304990ED45E42521BE504D0DE358B9E4031A172EF48700071AF985A8EA8B12BB479E24152814EE61840932BFFF5B3B1657C9CF50A61756B1D901E1C

私钥:

78AEBAE7DE025B6954357DB327F4AE412B3657B1E1ED36F89927C065155DBA9A

(一)JS前端加密

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

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

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

(二)Java SM2加解密

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

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

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

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

(三)C# SM2加解密

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

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

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

完整代码下载:

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

备用下载地址:

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

GitHub地址:

https://github.com/zhangqs008/SM2 

国密SM2算法(JS加密,C#、Java解密)文章来源地址https://www.toymoban.com/news/detail-434055.html

到了这里,关于国密SM2算法(JS加密,C#、Java解密)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • OpenSSL 3.1.1 ECC 加密、解密、签名、验签(国密 sm2、sm3)

    openssl 3 默认废弃了 旧版本 (opessl 1.x) 的部分api 导致部分旧ecc 代码无法使用(可以通过配置编译选项打开) ,这里展示如何使用新接口用ECC 进行加密解密。 新接口是真的方便,基本上你都不需要懂啥密码学知识,对我们这种密码白痴来说太好了 头文件 生成密钥对 导出公

    2024年02月05日
    浏览(29)
  • 医保移动支付加密解密请求工具封装【国密SM2SM4】

    医保移动支付加密解密请求工具封装【国密SM2SM4】

    医保移动支付加密解密请求工具封装 定点医药机构向地方移动支付中心发起费用明细上传、支付下单、医保退费等交易时需要发送密文,由于各大医疗机构厂商的开发语各不相同,可能要有java的、c#的、python的、pb的、nodjs的、php的、还可能有Delphi的等。。。。很多开发语言

    2024年01月21日
    浏览(63)
  • SM2国密算法加解密

    接口安全设计原则的一个点就是数据不能明文传输,除了https这个必须的请求外,接口数据加密也是一个重要的方式,下面介绍一下SM2国密算法加解密的使用方式。 这里我就针对目前前后端分离架构的方式来简单介绍一下如何正确使用 SM2 算法对数据进行加解密,介绍分为后

    2024年02月11日
    浏览(32)
  • 使用 Java Bouncy Castle实现国密算法SM4、SM3以及SM2的加密

    使用 Java Bouncy Castle实现国密算法SM4、SM3以及SM2的加密

    国密算法的实现借助了Java库函数 Bouncy Castle,加密库安装使用教程请参考链接 SM4,又称为商密算法,是一种分组密码算法,于2012年由中国密码技术研究中心(中国密码学会成员)发布,目前已成为我国国家密码算法,并在多个领域得到了广泛的应用。SM4算法采用了32轮迭代结

    2024年02月16日
    浏览(16)
  • 国密算法SM2/3/4简单比较,以及基于Java的SM4(ECB模式,CBC模式)对称加解密实现

    常用的国密算法包含SM2,SM3,SM4。以下针对每个算法使用场景进行说明以比较其差异 SM2:非对称加密算法,可以替代RSA 数字签名,SM2为非对称加密,加解密使用一对私钥和公钥,只有签名发行者拥有私钥,可用于加密,其他需要验证解密或验签者使用公钥进行。如果使用公

    2024年04月13日
    浏览(13)
  • 基于hutool 封装国密sm2,sm4 加解密算法

    基于hutool 封装国密sm2,sm4 加解密算法 1. 加入依赖包 2. 编码

    2024年02月13日
    浏览(15)
  • java运用SM4国密算法对文件的加密与解密的实现

    java运用SM4国密算法对文件的加密与解密的实现

    首先我们在idae开发工具导入导入pom.xml的两个必要依赖  jar包下载地址:百度网盘 请输入提取码   npn8  图上systemPath 为jar包的文件路径,我们需要使用以下的路径存储jar包。(也可以自己设置) java包的文件路径如图所示 然后创建所需要加密的文件 ,需要加密的文件内容,

    2024年03月27日
    浏览(48)
  • 国密SM2: 加解密实现 java代码完整示例

    国密SM2: 加解密实现 java代码完整示例

    目录  具体Java代码SM2算法加解密实现Demo: pom依赖引入 :  国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用支持国密SM2算法的证书。    基于ECC椭圆曲线算法的SM2算法,则普遍采用256位密钥

    2024年02月13日
    浏览(11)
  • 国密SM2算法的加密签名消息语法封装解析p7格式signedData

    国密SM2算法的加密签名消息语法封装解析p7格式signedData

    前文可参考:SM2算法的加密签名消息语法规范(三)如何构造signedData_天对地,雨对风的博客-CSDN博客系列。 这里直接讲openssl asn1解析和封装的部分代码。 国密 p7格式标准,参考:GMT0010-2012 1、p7 签名结构:  编写结构体GMTSignedData.h 注意:SM2_SignedData_st结构中的sign类型修改为

    2024年02月11日
    浏览(15)
  • 适用于前后端公用的SM2国密加密传输, JAVA + VUE

    适用于前后端公用的SM2国密加密传输, JAVA + VUE

    由于等保和多个系统间的数据传输加密, 写了一个共有的前端与后端, 后端与后端,的通用算法SM2简单加密,  不需要验签, 几行代码搞定.  引包, 测试好几遍, 这个包适合jdk1.8使用 引包, 没有意外就应该直接能用下面代码了     publicKey:04aa909915f87880507e3de515220cc8f82b1c5693f56a0475b3

    2024年02月16日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包