国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > java不可逆加密

java不可逆加密

來源:千鋒教育
發布人:zyh
時間: 2023-06-16 16:36:00 1686904560

  Java提供了許多不可逆加密算法,這些算法將數據轉換為固定長度的散列值,而無法從散列值還原原始數據。常見的不可逆加密算法包括MD5、SHA-1、SHA-256等。

  下面是使用Java中的不可逆加密算法進行加密的示例代碼:  

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class HashingExample {
public static void main(String[] args) {
String data = "Hello, World!";

// 使用MD5算法進行加密
String md5Hash = hashData(data, "MD5");
System.out.println("MD5 Hash: " + md5Hash);

// 使用SHA-1算法進行加密
String sha1Hash = hashData(data, "SHA-1");
System.out.println("SHA-1 Hash: " + sha1Hash);

// 使用SHA-256算法進行加密
String sha256Hash = hashData(data, "SHA-256");
System.out.println("SHA-256 Hash: " + sha256Hash);
}

public static String hashData(String data, String algorithm) {
try {
MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
byte[] hashBytes = messageDigest.digest(data.getBytes());

// 將字節數組轉換為十六進制字符串
StringBuilder hexString = new StringBuilder();
for (byte b : hashBytes) {
String hex = Integer.toHexString(0xFF & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}

return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

return null;
}
}

  請注意,盡管這些算法是不可逆的,但是由于它們的散列值空間有限,可能存在碰撞(兩個不同的數據生成相同的散列值)的風險。因此,在實際應用中,對于敏感數據的存儲和傳輸,應考慮使用更強大的加密算法,如可逆加密算法(如AES)。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT