Merhabalar arkadaşlar.

Java FX’e biraz bakınırken ve bir şeyler öğrenmek isterken aklıma basit bir hash uygulaması yazarak öğrenme fikri gelmişti ve uygulamayı yazdıktan sonra bunu bir blog yazısı ile paylaşmak istedim.

Bu yazıda kullanacağımız örneğin kodları şurada mevcuttur: https://github.com/ilkgunel/JavaFXHashing

Şimdi örneğimize bakalım:

package com.ilkaygunel.hashcalculation;

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

public abstract class AbstractHashCalculator {

	public String hashAlgorithm = "MD5";
	
	public String calculateHash(String textToHash) {
		StringBuffer sb16 = new StringBuffer();
		try {
			MessageDigest messageDigestObjesi = MessageDigest.getInstance(hashAlgorithm);
			messageDigestObjesi.update(textToHash.getBytes());
			byte[] messageDigestDizisi = messageDigestObjesi.digest();

			for (int i = 0; i < messageDigestDizisi.length; i++) {
				sb16.append(Integer.toString((messageDigestDizisi[i] & 0xfd) + 0x100, 16).substring(1));
			}
		} catch (NoSuchAlgorithmException ex) {
			System.err.println(ex);
		}
		return sb16.toString();
	}
}

Örnek içerisinde kod tekrarının önüne geçmek için bir AbstractHashCalculator sınıfı yazdım ve hash algoritmaları için yazılacak sınıflar bu sınıfı kalıtıyor olacaklar.