MD5

Author Avatar
丁起男 04月 07,2021
  • 在其它设备中阅读本文章

MD5

使用

MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update("aaa".getBytes());//可以多次update,也可以直接update("aaabbb".getBytes)结果一样
md5.update("bbb".getBytes());
byte[] digest = md5.digest();//结果为16位的bytes数组,就是md5的结果
System.out.println(String.format("%032x",new BigInteger(1,digest)));

结果:

6547436690a26a399603a7096e876a2d

用途

  • 验证文件完整性
  • 存储密码

注意:

使用md5要防止黑客使用彩虹表(md5原始值和结果值的对照表)

可以使用加盐方式防止

总结

  • md5是一种常用的哈希算法
  • 输出128bits(16bytes)
  • 常用于验证数据完整性
  • 使用时要考虑彩虹表攻击