美文网首页
Java-摘要算法

Java-摘要算法

作者: 权游一里 | 来源:发表于2018-04-27 17:26 被阅读0次

Java的摘要算法通过MessageDigest可使用。此 MessageDigest 类为应用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。

1.MD5

介绍

消息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。

MD5算法具有以下特点:

1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

使用示例

MessageDigest md = MessageDigest.getInstance("MD5");
String text = "12345688888888";
byte[] result = md.digest(text.getBytes());
String r = "";
for(int i=0; i<result.length; i++){
  //与0xFF做“&”运算,是因为byte转int,正数存储的二进制原码,负数存储的是二进制的补码。
  //补码是负数的绝对值反码加1。
  String hs = Integer.toHexString(result[i] & 0xFF);
  if(hs.length() == 1){
    r = r + "0" + hs;
  }else{
    r = r + hs;
  }
}
System.out.println(r);
System.out.println(r.toUpperCase());

相关文章

  • Java-摘要算法

    Java的摘要算法通过MessageDigest可使用。此 MessageDigest 类为应用程序提供信息摘要算...

  • LeetCode-101-对称的树

    title: LeetCode-101-对称的树tags:- Java- 算法data: 2018-12-26 2...

  • 2019-06-19 hashlib

    摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法...

  • iOS证书相关概念梳理

    非对称加密 RSA算法原理(一)RSA算法原理(二) 摘要算法 另一个神奇的算法就是摘要算法。摘要算法是指,可以将...

  • 信息摘要算法和数字签名

    信息摘要算法和数字签名 信息摘要算法 信息摘要算法区别于对称算法和非对称算法。具有以下特点: 特点 数据长度固定 ...

  • 加密

    1: 对称密码算法 ---- AES摘要算法 分割线 2:摘要算法摘要算法,具有单向不可逆的基本性质,速度快。① ...

  • 1.5 其他信息摘要算法

    信息摘要算法 - 其他信息摘要算法 信息摘要算法很多,主要的MD、MAC、SHA算法很常用,但是还有一些其他信息摘...

  • hashlib & hashmac

    摘要算法简介 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算...

  • python加密

    python中hashlib提供了常见的摘要算法,如MD5,SHA1等等 什么是摘要算法呢?摘要算法又称哈希算法\...

  • 52. 摘要算法hashlib

    Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法...

网友评论

      本文标题:Java-摘要算法

      本文链接:https://www.haomeiwen.com/subject/efkilftx.html