Springboot学习记录--SaltUtils(MD5+Salt+散列)

后端通常会对用户注册的密码进行加密处理,大多采用MD5+salt+散列。盐是一定长度的随机乱码,每次都是随机生成的(但我写的这个是自定义的,因为规模很小,拿来练手的)

1. MD5

MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,它可以接受任意长度的数据作为输入,并产生一个128位(16字节)的散列值(hash value),通常表示为一个32位的十六进制数。MD5的主要特点是不可逆性,即无法从散列值恢复原始数据。然而,需要注意的是,MD5算法因其容易受到碰撞攻击(即存在不同的输入产生相同输出的情况)和彩虹表攻击(利用预先计算好的哈希值来破解密码),现已不再被认为是安全的加密算法,尤其是在密码存储等安全要求较高的场合。

2. 散列(Hashing)

散列是一种将任意长度的输入数据(消息)通过某种算法转换为固定长度输出(散列值)的过程。散列算法通常具有单向性、定长输出和敏感性等特点。在密码学和数据安全领域,散列算法被广泛应用于数据完整性验证、密码存储等领域。通过散列算法,可以确保数据的完整性和一致性,同时保护数据的隐私性。

3. Salt(盐)

在密码学中,Salt(盐)是一个随机生成的字符串,用于与密码一起进行散列处理。加盐的目的是增加密码的复杂性和独特性,从而提高密码存储的安全性。通过为每个密码生成一个唯一的盐值,并将其与密码一起存储在数据库中,即使两个用户使用了相同的密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值