码迷,mamicode.com
首页 > 其他好文 > 详细

数字摘要

时间:2018-07-04 01:02:53      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:编码   恢复   string   一个   vat   border   message   content   get   

数字摘要原理

数字摘要也称为信息摘要,他是唯一对应一个消息或者文本的固定长度的值,他有单向hash函数生成。生成的数字摘要可以对传输中的消息的完整性进行验证。数字摘要的特征如下:

  1、无论传入的消息有多长都会返回固定长度的信息。

  2、传入的消息不同,返回的数字摘要也不相同。但是相同的输入必定会产生相同的输出。

  3、由于消息摘要并不包含原文的完整信息,一次无法从摘要中恢复出原来的信息。

MD5

 MD5生成的摘要长度为128位,MD5的使用实例如下:

public static byte[] testMD5(String content) throws Exception{
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] bytes = md.digest(content.getBytes("utf8"));
    return bytes;
    }

SHA

SHA-1算法生成的摘要长度为160位,由于生成的摘要越长,运算过程越复杂,运算速度越慢,安全度也更高。

SHA-1算法实例如下:

public static byte[] testSHA(String content) throws Exception{
    MessageDigest md = MessageDigest.getInstance("SHA-1");
    byte[] bytes = md.digest(content.getBytes("utf8"));
    return bytes;
    }

Base64编码

Base64编码不是一种加密算法,只是一种编码方法,因为可以通过固定的方法你想得到编码前的信息。Base64编码实例如下:

 

//编码方法
private static String byte2base64(byte[] bytes){
    BASE64Encode base64Encode = new BASE64Encode();
    return base64Encode.encode(bytes);
    }
//解码方法
private static byte[] base642byte(String base64){
    BASE64Decoder base64Decoder = new BASE64Decoder();
    return base64Decoder.decodeBuffer(base64);
}

 彩虹表破解Hash算法

该算法是将各种加密算法、生成的密文和明文构成一张表格,可以通过该表格中的密文找到对应的明文。彩虹表算法图如下:

密文 Hash算法 明文
XX MD5 XX
XX SHA XX
XX SHA XX
XX MD5 XX
... ... ...

数字摘要

标签:编码   恢复   string   一个   vat   border   message   content   get   

原文地址:https://www.cnblogs.com/youzhongmin/p/9260859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!