tangyuxian
文章79
标签37
分类5
算法-哈希算法

算法-哈希算法

哈希算法、哈希函数、散列算法、散列函数、表达的都是一个意思。

哈希算法就是把任意长度的输入,通过算法,变换成固定长度的输出,该输出就是:“哈希值”,也可以称作:“信息摘要、指纹”等。

算法特点:

a. 输出不可逆:哈希值不能够还原回原文。

b. 输出定长:无论输入多长,输出总是固定长度(MD5输出总是128bit)。

c. 输入不变输出不变,输入改变输出一定变。

常见的哈希算法:

image-20210513143215896

JAVA-MD5算法演示代码:

package com.netty.demo.rsa;

import io.netty.buffer.ByteBufUtil;

import java.security.MessageDigest;

public class HexTest {

  public static void main(String[] args) throws Exception {

  MessageDigest messageDigest = MessageDigest.getInstance("md5");

  messageDigest.update("hello alice".getBytes());

  byte[] digestBytes = messageDigest.digest();

   System.out.println("length:" + digestBytes.length + " hex:" + ByteBufUtil.hexDump(digestBytes));

   //length:16 hex:9d082190e9eb2fd1a01a8657e5d726bb

  }

}
本文作者:温故而知新666
文章来源:https://liuhuaqiang.blog.csdn.net/
本文链接:https://www.tangyuxian.com/2021/05/13/%E5%90%8E%E7%AB%AF/%E7%AE%97%E6%B3%95/%E7%AE%97%E6%B3%95-%E5%93%88%E5%B8%8C%E7%AE%97%E6%B3%95/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可