MD5和AES在项目中的使用方式和区别

一、定义

MD5:全称为Message-DigestAlgorithm,是一种被广泛使用的密码散列函数,可以产生出一个128位(16个字节)的散列值,用于确保信息传输完全一致。

AES:而AES算法是一种分组加密算法,把明文分成一组一组的形式,保证每组的长度相等,每组加密一组数据,直到加密完整个明文。在AES标准中,分组长度只能为128位,16个字节,并且是按照字节进行加密的。密钥的长度可以使用128位,192位或者256位。

二、特点

MD5:

1.长度固定:不管字符串多长,加密后的长度都一样

2.容易计算:字符串和文件加密的过程都是容易的

3.不可逆性:即使你知道密文和加密方式,但是你仍然无法计算得出原本的密码。

AES:

1.运算速度快

2.对内存的需求低,适合那些被限制的环境

3.分组长度和密钥长度设计灵活

4.AES支持可变分组长度,也就是说他的分组长度不是固定的,可以为32比特的任意倍数

三、MD5和AES的区别

首先AES属于对称加密算法,而MD5属于Hash算法;

其次AES的加密速度非常快,适合处理大量数据,并且处理的数据可以复原,而MD5算法用于完整

性,确保信息在传输过程中保持一致;在密码加密方面,数据库中不存储密码明文,而是存储散列

值,校验时比较散列值是否相同。

四、在项目中的使用方式

首先MD5:

我们在使用MD5主要在于项目的注册登录页面,要输入密码,当我们将密码存入数据库的时候就可以利用MD5算法加密后存入,用于保证数据的安全性。

public class UserService {
	// 32位长度秘钥
	private static final String AEC_KEY = "1234567890abcdef1234567890abcdef";

	// 根据手机号码和登录密码查找用户
	public User getUserByPhoneNumberAn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值