SM4 加密算法_des加密算法流程

SM4 加密算法_des加密算法流程SM4加密算法密码算法中常用的一些数据单位:位/比特/bit:指一个二进制位。字节/byte:1字节=8位[公式]字/word:1字=4字节=32位[公式]SM4是一种分组密码算法,其分组长度为128位(即16字节,4字),密钥长度也为128位(即16字节,4字)。其加解密过程采用了32轮迭代机制(与DES、AES类似),每一轮需要一个轮密钥(与DES、AES类似)。加密过程分为两步,由32次轮迭代和1次反序变换组成。SM4的解密过程与加密过程完全相同,也包括32轮迭代和一次反序变换。只

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

SM4加密算法

密码算法中常用的一些数据单位:
位/比特/bit:指一个二进制位。
字节/byte:1字节=8[公式]/word:1=4字节=32[公式]

SM4是一种分组密码算法,其分组长度为128位(即16字节,4字),密钥长度也为128位(即16字节,4字)。其加解密过程采用了32轮迭代机制(与DES、AES类似),每一轮需要一个轮密钥(与DES、AES类似)。
加密过程分为两步,由32次轮迭代和1次反序变换组成。
SM4的解密过程与加密过程完全相同,也包括32轮迭代和一次反序变换。只是在轮迭代的时候,需要将轮密钥逆序使用。

  • pom文件:
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.20</version>
</dependency>
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15to18</artifactId>
    <version>1.69</version>
</dependency>
  • 代码块
@Test
void contextLoads() { 
   
    String content="123456";
    SM4 sm4 = SmUtil.sm4();
    String encryptHex = sm4.encryptHex(content);
    String decryptStr = sm4.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8);
    System.out.println(encryptHex+"======="+decryptStr);
}
  • 结果:
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185469.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 赛罗终极形态_终极战斗仪

    赛罗终极形态_终极战斗仪实践是推广一个产品或技术的最好的方式,特别在IT行业让产品管理产品本事,就是一种很好的推广方式,例如DockerinDocker、k8sink8s,这些已经被大家普遍接受。所以我觉得spinnaker要想很好的推广开来,也需要类似的应用方案,我把它称为SpinnakerOnSpinnaker。架构图如下:最上面部分是主spinnaker,或者叫masterspinn…

    2025年7月22日
    4
  • 最大子段和

    最大子段和

    2021年7月8日
    111
  • python的py文件打包成exe_python生成文件

    python的py文件打包成exe_python生成文件基本命令:cxfreezexxx.py(打包文件)–target-dirf:\dist\(打包后exe路径) 额外命令:–base-name=win32gui  消除启动exe文件出现的dos窗口 –icon=d:\xxxx.ico  添加exe文件的图标,注意,图标必须是ico格式…

    2022年10月8日
    1
  • MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]

    MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]????周周有福利,周周有惊喜哪吒社区-风火轮计划????Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)????Java经典面试题大全:10万字208道Java经典面试题总结(附答案)????简介:Java领域优质创作者????、CSDN哪吒公众号作者✌、Java架构师奋斗者????????扫描主页左侧二维码,加入群聊,一起学习、一起进步????欢迎点赞????收藏⭐留言????这里写目录标题一、百度百科1、MySQL2、Pos

    2022年7月27日
    3
  • html+CSS让背景图片充满整个屏幕

    html+CSS让背景图片充满整个屏幕由于给网页设置背景图时,需要设置背景图不重复且充满整个浏览器屏幕。   给body标签指定背景图,这样背景图就可以填充整个浏览器viewport了。其实,该方案对所有的块级容器都可以生效。块级容器的宽高是动态的,那么背景图将自动伸缩,充满整个容器。可设置body标签的CSS样式如下:body{/*加载背景图*/backg

    2022年6月7日
    29
  • 2021.7idea激活码_在线激活

    (2021.7idea激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号