必威体育Betway必威体育官网
当前位置:首页 > IT技术

MD5与AES浅谈

时间:2019-06-19 12:45:18来源:IT技术作者:seo实验室小编阅读:67次「手机版」
 

aes

记录下自己的加密了解

MD5:

MD5全称为信息-摘要算法(哈希算法),是为计算机安全领域的散列函数,用于确保消息的完整性。另外摘要算法还有SHA1,具体请度娘。

MD5是一种单向加密,它的加密不可逆,它将任意长度的字符串,经过算法计算后生成固定长度的数据,一般为16位表示。

MD5的用途:

1. 消息完整性:每份数据生成的MD5码不同,所以可以吧MD5码和数据一块发送,在对端使用md5加密对数据加密在与接收的MD5码做对比,保证数据的正确性。

2. 安全访问认证:常被用到 mysql和传递用户账户信息和密码,从用户端发送到服务器的只是一段128位的摘要,服务器拿到后直接将其存入数据库,下次登录只需与服务器的密文进行对比即可,这样保护了用户的信息,即便是后台人员也无法去获取用户的账户密码。

3. 数字签名

MD5生成代码可查看博客:https://blog.csdn.net/miraclefish/article/details/43051923

看https://www.zhihu.com/question/22311285上面说MD5其实不算是一种加密算法,用处大多在文件的是否完整,和密码的保护上,更多详情查看大神解析。

项目应用:

在此次文件传输项目中,就使用了MD5用于保证用户的消息完整性,和用户账户密码的保护,在客户端,使用MD5将用户的账户和密码,进行MD5加密,传递给服务器,服务器将其与服务器所保存的MD5进行对比,如果比配就将用户自己的界面返回给用户,然后进行数据的传输,也是使用MD5,在对端对数据进行加密,匹配查看数据是否完整。

其他加密算法

非对称加密:包括RSA DSA RCC,非对称加密是相比对称加密而言的。

对称加密:包括AES,DES,3DES

两者的关系:对称加密是在加密前双方都应该知道加密算法和密钥。而且密钥相同,eg:A和B实现约定使用的加密算法和解密密钥,然后进行数据传输;非对称加密是双方各自产生自己的密钥,然后将自己的加密密钥传递给对方,在使用时先给数据使用对方的加密密钥加密,发送给对方后,各自使用自己的解密密钥来解密数据。不过对称加密解密速度慢,安全性能高;非对称加密速度快,安全性能不高,所以经常使用非对称加密传递对称加密的密钥,然后使用对称加密来加密传递的数据。

AES:

aes加密有三种长度分别是128位, 192位,256位。

AES加密是一种分组加密,他将明文划分一组一组的,每组明文长度相等,一次加密一组明文,直到全部加密,分组长度为128位(16字节),明文长度不足的进行填充。AES加密是字节加密,使用时要转成字节码。明文分组用字节单位的正方形矩阵表示,一般称为状态矩阵。

128为会进行10轮加密,一轮加密步骤:字节代换,行位移,列混合,轮密钥加。在最后一轮不进行列混合;解密反过来,分为轮密钥加,逆列混合,逆行位移,逆字节代换,第一步不进行逆列混合。

字节代换:AES加密定义了一个S盒和一个逆S盒。将状态矩阵中的元素查表进行替换。

行移位:将行位移进行左循环位移,即状态矩阵的第N行左移N个字节。

列混合变换:同过将行移位矩阵与固有矩阵相乘得到的混合矩阵。

轮密钥加:将128位轮密钥Ki同状态矩阵中的数据进行逐位异或操作,如下图所示,密钥Ki中每个字W[4i],W[4i+1],W[4i+2],W[4i+3]为32位比特字,包含4个字节,他们的生成算法下面在下面介绍。轮密钥加过程可以看成是字逐位异或的结果,也可以看成字节级别或者位级别的操作。也就是说,可以看成S0 S1 S2 S3 组成的32位字与W[4i]的异或运算。 

                   图片来自博客 https://blog.csdn.net/qq_28205153/article/details/55798628

具体信息和实现:

https://blog.csdn.net/qq_28205153/article/details/55798628

相关阅读

MD5加密有什么用?

md5加密很早就知道,加密 肯定是安全啊,直到真正用到了,才去想,在后台进行加密,那到底有什么作用呢? 这样的MD5加密,为了防止谁呢? 查了一

信息安全——AES五种加密模式

注:本文参考:http://www.tuicool.com/articles/AZZjiu,所有图片来源于此文。分组密码在加密时明文分组的长度是固定的,而实用中待加密

MD5算法,自己的c语言实现

/*对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输

admin、admin888 md5加密后16位和32位代码

mark一下,防止以后调试代码忘记。 admin 的md5加密代码: 16位加密:7a57a5a743894a0e 32位加密:21232f297a57a5a743894a0e4a801fc3 000

支付宝生活号怎么查看MD5密钥?

支付宝中想要查询那个生活号的MD5密钥,该怎么查询呢?下面我们就来看看详细的查询方法。1、打开支付宝生活号平台,输入账号密码登录。

分享到:

栏目导航

推荐阅读

热门阅读