All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.anlavn.hash.MD5 Maven / Gradle / Ivy

There is a newer version: 6.70.10.2
Show newest version
package com.anlavn.hash;
// Make By Bình An || AnLaVN || KatoVN

import com.anlavn.file.Log;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**Lớp MD5 hỗ trợ mã hóa đối tượng và chuỗi, giải mã nó là bất khả thi.
 * MD5 sử dụng hàm băm mật mã học Message-Digest algorithm 5 với giá trị băm dài 128-bit.
 * 
Đảm bảo rằng lớp đối tượng của bạn đã "implements Serializable". * @author AnLaVN * @deprecated Tính bảo mật của hàm băm MD5 bị xâm phạm nghiêm trọng. * Một cuộc tấn công xung đột tồn tại có thể tìm thấy xung đột trong vòng vài giây trên máy tính có bộ xử lý Pentium 4 2,6 GHz * (độ phức tạp 224.1). Hơn nữa, cũng có một cuộc tấn công va chạm tiền tố được chọn có thể tạo ra xung đột cho hai * đầu vào với các tiền tố được chỉ định trong vòng vài giây, sử dụng phần cứng máy tính có sẵn (độ phức tạp 239). */ @Deprecated public class MD5 { private static String Encrypt(final byte[] bytes){ try { final MessageDigest md = MessageDigest.getInstance("MD5"); final byte[] hash = md.digest(bytes); final BigInteger no = new BigInteger(1, hash); String hashtext = no.toString(16); while (hashtext.length() < 32) { hashtext = "0" + hashtext; } return hashtext; }catch (NoSuchAlgorithmException e) { Log.add("!!! Error try to Encrypt MD5. !!!\n\tError code: " + e.toString()); return null; } } /**Sử dụng phương thức này để mã hóa đối tượng gốc. * @param objToEncrypt là đối tượng cần mã hóa.
* @return mã băm MD5 của đối tượng ban đầu. */ public static final String Encrypt(final Object objToEncrypt){ try { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(objToEncrypt); oos.flush(); return Encrypt(bos.toByteArray()); }catch (IOException e) { Log.add("!!! Error try to Encrypt MD5 an Object. Can not parse Object to bytes. !!!\n\tError code: " + e.toString()); return null; } } /**Sử dụng phương thức này để mã hóa chuỗi gốc. * @param strToEncrypt là chuỗi cần mã hóa.
* @return mã băm MD5 của chuỗi ban đầu. */ public static final String Encrypt(final String strToEncrypt){ return Encrypt(strToEncrypt.getBytes()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy