摘要加密-Digester
但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证。
在不引入第三方库的情况下,JDK支持有限的摘要算法:
- MD2
- SHA-1
- SHA-256
- SHA-384
- SHA-512
以MD5为例:
当然,做为最为常用的方法,MD5等方法被封装为工具方法在中,以上代码可以进一步简化为:
我们首先需要引入Bouncy Castle库:
然后可以调用SM3算法,调用方法与其它摘要算法一致: