AES SHA-1 SM3 MD5
输入:128bit 的消息分组
输出:128bit 的密文分组
密钥长度及圈数
128 10
192 12
256 14
消息 与 密钥
addroundkey//加入轮密钥 每一个字节与轮密钥的相应字节进行异或运算
subbytes// 字替代 经过s盒,即对每一个字节进行替换。非线性部件。16个字节採用同样的s-盒
shiftrow// 行变换 每一行按字节循环以为。第一行移动0位,第二行<<<1,.....第四行《《3
mixcolumn// 列混合
addroundkey
!!!!!!!!!!上面为循环进行!!!!!!!!!!!!!!
subbutes
shiftrow
addroundkey
AES加密数据块分组长度必须为128比特。密钥长度能够是128比特、192比特、256比特中的随意一个(假设数据块及密钥长度不足时,会补齐)。
AES加密有非常多轮的反复和变换。大致步骤如
下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、反复轮(Rounds)。每一轮又包含:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、终于轮(Final Round)
。终于轮没有MixColumns。
MD5算法
MD5以512位分组来处理输入的信息。且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
SHA-1
SHA (Secure Hash Algorithm。译作安全散列算法) 是美国国家安全局 (NSA) 设计。美国国家标准与技术研究院(NIST) 公布的一系列password散列函数。
SHA-0 和 SHA-1 会从一个最大 2^64 位元的讯息中产生一串 160 位元的摘要
SM3算法:
国家password管理局编制的商用算法,用于password应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成。可满足多种password应用的安全需求。对长度为l(l< 264) 比特的消息m,SM3
杂凑算法经过填充和迭代压缩,生成杂凑值。杂凑值长度为256比特。
AES SHA-1 SM3 MD5的更多相关文章
- DES,AeS加解密,MD5,SHA加密
1.DES一共就有4个参数参与运作:明文.密文.密钥.向量.其中这4者的关系可以理解为: 密文=明文+密钥+向量: 明文=密文-密钥-向量: 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复, ...
- Java Base64、AES、SHA1、MD5加密算法
package com.example.decript; import java.io.UnsupportedEncodingException; import java.security.Inval ...
- Java Base64、AES、SHA1、MD5加密算法(转载)
package com.example.decript; import java.io.UnsupportedEncodingException; import java.security.Inval ...
- [转] AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- AES,SHA1,DES,RSA,MD5区别
AES:更快,兼容设备,安全级别高: SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cry ...
- Java计算文件的SHA码和MD5码
可参考:http://blog.csdn.net/hudashi/article/details/8394158 /** * 计算文件的MD5码 * @param file * @return */ ...
- c# aes,des,md5加密等解密算法
一:可逆加密,即是能加密也能解密 对称可逆加密:加密后能解密回原文,加密key和解密key是一个 加密算法都是公开的,密钥是保密的, 即使拿到密文 你是推算不了密钥 也推算不了原文 加密解密的速度快, ...
- 浅析DES、AES、RSA、MD5加密算法及其应用场景
对称加密算法DES 算法:一种典型的块加密方法,将固定长度的明文通过一系列复杂的操作变成同样长度的密文,块的长度为64位.同时,DES 使用的密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的 ...
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
内容不转载了,加上链接https://blog.csdn.net/u013565368/article/details/53081195?_t=t
随机推荐
- Filter 知识总结
Filter对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压 ...
- JAVA GUI学习 - JSplitPane分屏组件学习
public class JSplitPaneKnow extends JFrame { JSplitPane jSplitPane; JPanel jPanelRed; JPanel jPanelB ...
- String、StringBuffer、StringBuilder之间区别
String,StringBuffer,StringBuilder 之间区别 在字符串处理中C#提供了String.StringBuffer.StringBuilder三个类.那么他们到底有什么优缺点 ...
- SSIS 阻塞,半阻塞和全阻塞 (Non-blocking, semi-blocking and Fully-blocking) transformations清单
三种Blocking类型,这里跟数据流的Buff关系很大:■■ non-blocking transformations,每一行直接转换输出,没有等待.■■ partial-blocking tran ...
- Orchard站点性能优化-预热
Orchard CMS 包含一个 Warmup Module 模块,当我们的站点在共享主机上的时候,它可以显著的帮助我们快速响应用户访问请求.当你开启这个模块以后,你设置的URL的里面的内容会缓存起来 ...
- iOS开发中遇到的bug
报错:The operation couldn’t be completed. (LaunchServicesError error 0.) 解决办法:重置模拟器
- javaEE的13种核心技术规范
javaEE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对javaEE中的13种技术规范进行简单的记录: J2EE中的 ...
- typeof操作符的返回值
使用typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串: 1):undefined——如果这个值未定义 2):boolean——如果这个值是布尔值 3):string——如果这个 ...
- Android 开发笔记 “Android 的消息队列模型”
Android是参考Windows的消息循环机制来实现Android自身的消息循环的. Android通过Looper.Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都 ...
- 阿尔宾我饿iejr89e 如何
http://www.huihui.cn/share/8112372 http://www.huihui.cn/share/8112363 http://www.huihui.cn/share/811 ...