草庐IT

国密SM2

全部标签

Java实现国产加密算法SM4(ECB和CBC两种模式)

1.SM4/ECB/PKCS5Paddingimportorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.pqc.math.linearalgebra.ByteUtils;importorg.bouncycastle.util.encoders.Hex;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.spec.SecretKeySpec;importjava.security.Key;impo

SM4、AES、DES加解密算法性能比较

SM4、AES、DES加解密算法性能比较测试代码publicvoidencryDecry()throwsException{SM4StringEncryptorsm4=newSM4StringEncryptor();Stringpath="D:\\Users\\xlj\\Downloads\\sylog.txt";Filefile=newFile(path);InputStreamReaderreader=newInputStreamReader(newFileInputStream(path));BufferedReaderbr=newBufferedReader(reader);Strin

前后端联调sm2加密的坑Invalid point encoding

1.公私钥问题Invalidpointencoding私钥前加00,密文前加04,公钥前加04后端使用hutooldependency>groupId>cn.hutoolgroupId>artifactId>hutool-allartifactId>version>5.7.12version>dependency>dependency>groupId>org.bouncycastlegroupId>artifactId>bcprov-jdk15onartifactId>version>1.68version>dependency>后端生成公私钥,公钥已带有04,私钥已带有00SM2sm2=ne

国密算法-SM4加解密工具类

importcn.hutool.crypto.symmetric.SymmetricCrypto;/***@author:chenfan*@className:SM4Utils*@date:Createdin2022/11/313:55*@description:国密算法SM4加解密工具类*//***国密SM4分组密码算法工具类(对称加密)*/publicclassSM4Utils{//SM4-加密publicstaticStringencryptSm4(Stringplaintext,Stringkey){//指明加密算法和秘钥SymmetricCryptosm4=newSymmetricC

国密sm2公钥加密 私钥解密java代码实现

目录一、引入jar包二、生成秘钥对,加解密工具类一、引入jar包org.bouncycastlebcprov-jdk15on1.70二、生成秘钥对,加解密工具类importorg.apache.tomcat.util.codec.binary.Base64;importorg.bouncycastle.crypto.CipherParameters;importorg.bouncycastle.crypto.engines.SM2Engine;importorg.bouncycastle.crypto.params.ParametersWithRandom;importorg.bouncyca

SM2258XT添加Flash支持列表(保姆级教程,附个人经验+SM2258XT量产开卡工具)

写在前面:最近发现关于2258XT添加FlashDB文件中数据后仍然不能识别Flash情况,以及FlashDB当中有对应的Flash信息,却在开卡时无法选择对应的Flash片数据。针对以上两种情况,个人的一点经验总结,还望大佬们指正。以SM2258XT_SSV3-TLC_PKGR1212A_FWR1211A0此固件为例,只是当例子来用,可能真的不恰当,请不要在意细节。此固件当中的Flash支持列表当中仅有一片颗粒,而在Flash.SET文件当中却有两个颗粒究其缘由,是因为在Firmware文件夹下FWTag.SET文件当中没有将其加入将不显示的颗粒参数加入后再次打开开卡工具,便可以看到新增颗粒

java实现国产SM3、SM4加密

引入依赖: dependency>groupId>org.bouncycastlegroupId>artifactId>bcprov-jdk15onartifactId>version>1.54version>dependency>完整代码:packageutils;importorg.bouncycastle.crypto.digests.SM3Digest;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importorg.bouncycastle.pqc.math.linearalgebra.ByteUtils;impor

Hutool工具进行SM4加密报错:No such algorithm: SM4/ECB/PKCS5Padding

报错详情:Exceptioninthread"SpringThread-pool-pzj-5"Exceptioninthread"SpringThread-pool-pzj-10"java.lang.ExceptionInInitializerError atcom.soc.cloud.iot.schedule.log.LogTaskContent.lambda$null$10(LogTaskContent.java:321) atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at

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

目录 具体Java代码SM2算法加解密实现Demo:pom依赖引入: 国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用支持国密SM2算法的证书。  基于ECC椭圆曲线算法的SM2算法,则普遍采用256位密钥长度,它的单位安全强度相对较高,在工程应用中比较难以实现,破译或求解难度基本上是指数级的。因此,SM2算法可以用较少的计算能力提供比RSA算法更高的安全强度,而所需的密钥长度却远比RSA算法低。 对比项目ECC加密算法RSA加密算法密钥长度256位2048位CPU占用较少较高内存占用较少较高网络消耗较低较

保护数据隐私:深入探索Golang中的SM4加密解密算法

前言最近做的项目对安全性要求比较高,特别强调:系统不能涉及MD5、SHA1、RSA1024、DES高风险算法。那用什么嘞?甲方:建议用国产密码算法SM4。擅长敏捷开发(CV大法)的我,先去GitHub找了开源项目、又去网络上找了一些教程,但是或多或少都有些问题:比如golang.org/x/crypto/sm4无法安装编译比如C站烂大街的SM4教程,不能解决数据填充的问题,超过16位就解密失败了比如如何封装成通用的方法,供系统进行调用更多就是复制粘贴了SM4的定义,很抽象。于是我花了2天时间研究SM4的原理和应用,解决了上面这些问题,整理这篇文章分享给大家,让大家能少踩坑。我会按照下面的顺序分