91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java的messagedigest怎么使用

小億
96
2023-08-02 10:02:27
欄目: 編程語言

MessageDigest是Java中用于計算哈希算法的類,可以用于計算MD5、SHA-1、SHA-256等哈希算法的摘要。使用MessageDigest類的步驟如下:

  1. 使用getInstance方法獲取MessageDigest對象,傳入指定的算法名稱。例如,要計算MD5摘要,可以使用以下代碼:
MessageDigest md = MessageDigest.getInstance("MD5");
  1. 調用reset方法重置MessageDigest對象的狀態,以便之后可以傳入新的數據進行計算。例如,可以使用以下代碼重置MessageDigest對象的狀態:
md.reset();
  1. 使用update方法傳入要計算摘要的數據。可以一次傳入整個數據,也可以多次傳入部分數據。例如,可以使用以下代碼傳入要計算摘要的字符串數據:
md.update("Hello, world!".getBytes());
  1. 調用digest方法計算摘要。該方法返回計算得到的摘要字節數組。例如,可以使用以下代碼計算摘要:
byte[] digest = md.digest();
  1. 可選:對計算得到的摘要進行格式化。例如,可以使用以下代碼將摘要轉換為16進制字符串:
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
String hexDigest = sb.toString();

完整的示例代碼如下:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MessageDigestExample {
public static void main(String[] args) {
try {
// 獲取MessageDigest對象
MessageDigest md = MessageDigest.getInstance("MD5");
// 重置MessageDigest對象的狀態
md.reset();
// 傳入要計算摘要的數據
md.update("Hello, world!".getBytes());
// 計算摘要
byte[] digest = md.digest();
// 格式化摘要為16進制字符串
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
String hexDigest = sb.toString();
System.out.println("摘要:" + hexDigest);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
}

運行以上代碼,將會輸出計算得到的MD5摘要。

注意:在使用MessageDigest對象計算摘要之后,不能再次使用該對象計算摘要,否則會得到錯誤的結果。如果需要計算多個數據的摘要,需要為每個數據創建一個新的MessageDigest對象。

0
舒兰市| 巴楚县| 齐河县| 离岛区| 土默特右旗| 乌拉特前旗| 新密市| 松潘县| 洛宁县| 梁平县| 石楼县| 长岭县| 建水县| 乌鲁木齐县| 扬州市| 阳朔县| 凤冈县| 久治县| 股票| 河北省| 唐山市| 平定县| 芮城县| 巴彦县| 宁海县| 昌黎县| 开阳县| 浏阳市| 棋牌| 饶平县| 依兰县| 观塘区| 金乡县| 绥棱县| 兴安县| 延边| 伊川县| 饶阳县| 上饶市| 石屏县| 彩票|