摘要加密-Digester

    但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证。

    在不引入第三方库的情况下,JDK支持有限的摘要算法:

    • MD2
    • SHA-1
    • SHA-256
    • SHA-384
    • SHA-512

    以MD5为例:

    当然,做为最为常用的方法,MD5等方法被封装为工具方法在中,以上代码可以进一步简化为:

    我们首先需要引入Bouncy Castle库:

    然后可以调用SM3算法,调用方法与其它摘要算法一致: