激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現的MD5摘要算法完整實例

java實現的MD5摘要算法完整實例

2020-07-23 11:49QH_JAVA Java教程

這篇文章主要介紹了java實現的MD5摘要算法,結合完整實例形式分析了java實現md5單項加密的具體步驟與相關操作技巧,需要的朋友可以參考下

本文實例講述了java實現的MD5摘要算法。分享給大家供大家參考,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.soufun.com;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
 * @author WHD
 */
public class MD5Test {
  // MD5 單向加密
  public static void main(String[] args) throws NoSuchAlgorithmException,
      UnsupportedEncodingException {
    String str = "hellomd摘要算法開始";
    System.out.println("原始值" + str);
    System.out.println("加密后的" + MD5Test.afterMD5(str));
    String digest = MD5Test.afterMD5(str);
    System.out.println(digest.equals(MD5Test.afterMD5(str)));
  }
  public static String afterMD5(String str) throws NoSuchAlgorithmException,
      UnsupportedEncodingException {
    // 獲取MD5 加密對象,還可以獲取SHA加密對象
    MessageDigest md5 = MessageDigest.getInstance("MD5");
    // 將輸入的信息使用指定的編碼方式獲取字節
    byte[] bytes = str.getBytes("UTF-8");
    // 使用md5 類來獲取摘要,也就是加密后的字節
    md5.update(bytes);
    byte[] md5encode = md5.digest();
    StringBuffer buffer = new StringBuffer();
    for (int i = 0; i < md5encode.length; i++) {
      // 使用&0xff 不足24高位,因為只占了8低位
      int val = ((int) md5encode[i]) & 0xff;
      if (val < 16) {
        buffer.append("0");
      }
      // 以十六進制(基數 16)無符號整數形式返回一個整數參數的字符串表示形式。
      buffer.append(Integer.toHexString(val));
    }
    return buffer.toString();
  }
}

使用org.apache.commons.codec.digest.DigestUtilsorg.apache.commons.codec.digest.DigestUtils來實現md5加密

在maven中的配置:

?
1
2
3
4
5
<dependency>
  <groupId>commons-codec</groupId>
  <artifactId>commons-codec</artifactId>
  <version>1.4</version>
</dependency>

這里注意1.2版本和1.4版本的區別很大,因為1.4中擴展了很多方法.
具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
public static String afterMd5(String str){
      try {
      String md5 = DigestUtils.md5Hex(str.getBytes("UTF-8"));
      return md5;
    } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
      return null;
}

希望本文所述對大家java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久艹国产精品 | 久久免费精品 | 91网在线播放 | 日日天日日夜日日摸 | 久久网站热最新地址4 | 精品三级内地国产在线观看 | 成年人在线视频免费 | 亚洲成人播放 | 全免费午夜一级毛片真人 | 未成年人在线观看 | 末成年女av片一区二区 | 欧美精品一区二区三区在线播放 | 亚洲精品在线观看网站 | 蜜桃视频在线免费观看 | 久久精品一区二区三区四区五区 | 免费观看又色又爽又黄的崩锅 | 一级做a爱片毛片免费 | 日韩字幕在线 | 久久久久国产成人免费精品免费 | 鸥美一级片 | 精品国产一区二区三区四区阿崩 | 久久网页| 国产成人在线网站 | 成人免费午夜视频 | 1314成人网| 欧美性色生活片免费播放 | 久久亚洲网 | 男女无遮挡羞羞视频 | 久久精品超碰 | 精精国产xxxx视频在线播放7 | 黄色网址免费入口 | 欧美一级一区二区三区 | 午夜小视频免费观看 | 九九热视频这里只有精品 | 亚洲福利视频52 | 国产一级淫片免费看 | 欧美另类在线视频 | 桥本有菜免费av一区二区三区 | 国产精品自拍av | 最新中文字幕第一页视频 | 国产成人av免费 |