Java之SM4解密与解密

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

在线加密工具链接 

在线SM4国密加密/解密—LZL在线工具在线SM4国密加密/解密https://lzltool.cn/SM4

根据项目选择相应数据格式 

sm4在线解密,java,开发语言

pom.xml引入一下jar包

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.7</version>
</dependency>
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcpkix-jdk15on</artifactId>
    <version>1.70</version>
</dependency>

实现SM4加密和解密代码部分文章来源地址https://www.toymoban.com/news/detail-737967.html


import cn.hutool.core.util.CharsetUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.symmetric.SM4;
import java.io.IOException;

public class Sm4Utils {
    public Sm4Utils() {
    }

    //加密为16进制,也可以加密成base64/字节数组
    public static String encryptSm4(String plaintext, String key, String iv) {
        SM4 sm4 = new SM4(Mode.CBC, Padding.PKCS5Padding, key.getBytes(), iv.getBytes());
        return sm4.encryptBase64(plaintext);
    }

    //解密
    public static String decryptSm4(String ciphertext, String key,String iv) {
        SM4 sm4 = new SM4(Mode.CBC, Padding.PKCS5Padding, key.getBytes(), iv.getBytes());
        return sm4.decryptStr(ciphertext, CharsetUtil.CHARSET_UTF_8);
    }


    public static void main(String[] args) throws IOException {
        String plainText = "文字内容";
        Sm4Utils sm4 = new Sm4Utils();
        String key = "输入key值";
        String iv  = "输入iv值";
        System.out.println("CBC模式加密");
        String cipherText = sm4.encryptSm4(plainText, key,iv);
        System.out.println("密文: " + cipherText);
        System.out.println();


        System.out.println("CBC模式解密");
        String iv1= "iv值";
        String data= "RddoC3+TFYWB+JgxfYkBxQ6GH/iMVpgCtGMpPkZ5yCcHrK5/IS68EUWaRKQ7PBbTxy4A60SBQETlKO3jQrPvAPDShrpihOMpjIxFfobr+8rA0qoEBE5oD+SXZv4iDSANFjEMguinl1DEc0Xj9LjJ2g==";
        String plainText1 = sm4.decryptSm4(data, key,iv1);
        System.out.println("明文: " + plainText1);
        System.out.println();//
    }

}

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

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

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

相关文章

  • 国密算法 SM4 加解密 java 工具类

    👑 博主简介:知名开发工程师 👣 出没地点:北京 💊 2023年目标:成为一个大佬 ——————————————————————————————————————————— 版权声明:本文为原创文章,如需转载须注明出处,喜欢可收藏! 我国国家密码管理局陆续发

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

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

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

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

    2024年04月13日
    浏览(28)
  • 前端SM4加密解密

    前后端加密一致,如果不一致就是key有问题 调用方法: sm4.js文件

    2024年04月25日
    浏览(32)
  • JAVA -SM4 ECB加密

    前言:根据网络安全法要求,现在对数据存储、口令安全要求越来越严格,对技术人员编码规范要求愈加严苛,推出国密算法等政策要求 sm4-ecm举例说明 第一步引入包提示错误 第二步:pom.xml依赖如下 说明如下: BouncyCastle是一个开源的第三方算法提供商。 BouncyCastle提供了很多

    2024年02月16日
    浏览(22)
  • JAVA集成国密SM4

    国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM4对称算法 SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位 ConfigBean.java ProviderSingleton.java SecretCommon.java Utils.java 测试类:Test.java 使用方法参考测试类即可。 使用KeyGenerator构建的秘钥长

    2024年02月10日
    浏览(27)
  • SM4算法加解密及实现

    SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算

    2024年02月08日
    浏览(30)
  • Android 数据SM4传输加解密

    第一:场景介绍   甲方要求,数据在传输过程中要加密。 第二:选择加解密方式: 这里面Android 和服务端都是选择SM4 第三:实现方式 1:服务端采用SpringBoot,在pom.xml 文件下添加依赖 2:在Android 端同样添加依赖,在module 下面build.gradle 3:服务端SM4工具类 4:Android SM4 工具类,

    2024年02月13日
    浏览(36)
  • js sm4实现加密解密

    2023.10.25今天我学习了如何使用sm4进行加密解密: 注意:前端和后端的编码必须相同才能使用,不然会出现空字符串的错误。 一、首先安装sm4.js包: package.json中的版本: (安装失败的话可以直接复制下面的版本然后npm install) 二、main.js中全局引入或局部引入: 这个是全局

    2024年01月18日
    浏览(33)
  • 前端使用国密sm2和sm4进行加解密

    国密SM:国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如SM系列密码,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。 安装SM加密依赖 SM2 封装 将sm2的加密解密

    2024年02月08日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包