MD5 generator
|
MD5 w JAVA
|
Polityka Prywatności
Implementacja wykorzystania MD5 w Javie: suma kontrolna ciągu tekstu i weryfikacja sumy kontrolnej pliku.
MD5 Java: suma kontrolna ciągu tekstu
package main;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class HashTextTest {
/**
* @param args
* @throws NoSuchAlgorithmException
*/
public static void main(String[] args) throws NoSuchAlgorithmException {
System.out.println(md5("coś tam"));
}
static String md5(String input) throws NoSuchAlgorithmException {
MessageDigest mDigest = MessageDigest.getInstance("MD5");
byte[] result = mDigest.digest(input.getBytes());
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}
}
Klucz SSH
MD5 Java: weryfikacja sumy kontrolnej pliku.
package main;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class HashFileTest {
public static void main(String[] args) throws NoSuchAlgorithmException, IOException {
boolean result = testChecksum("c:\\apache-tomcat-7.0.26.zip", "b193f65eec974f7a9312c9901c59106e");
System.out.println("Czy suma kontrolna pliku jest zgodna z oczekiwaną? " + result);
}
/**
* Metoda weryfikująca zgodność sumy kontrolnej pliku
* @param file ścieżka z nazwą pliku, który ma zostać zweryfikowany
* @param testChecksum oczekiwana suma kontrolna pliku
* @return true jeśli wprowadzona suma kontrolna jest sumą kontrolną sprawdzanego pliku
* @throws NoSuchAlgorithmException
* @throws IOException
*/
public static boolean testChecksum(String file, String testChecksum) throws NoSuchAlgorithmException, IOException
{
MessageDigest md5 = MessageDigest.getInstance("MD5");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[1024];
int read = 0;
while ((read = fis.read(data)) != -1) {
md5.update(data, 0, read);
};
byte[] hashBytes = md5.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < hashBytes.length; i++) {
sb.append(Integer.toString((hashBytes[i] & 0xff) + 0x100, 16).substring(1));
}
String fileHash = sb.toString();
return fileHash.equals(testChecksum);
}
}