6 Aralık 2016 Salı

MessageDigest Sınıfı

Giriş
Şu satırı dahil ederiz
import java.security.MessageDigest;
getInstance metodu
Kullanmak istediğimiz algoritmayı belirtiriz. Şöyle yaparız.
MessageDigest md = MessageDigest.getInstance("SHA-1");
Şöyle yaparız.
MessageDigest md = MessageDigest.getInstance ("SHA-256");
Eğer algoritma yoksa şu exception atılır
import java.security.NoSuchAlgorithmException;
digest metodu
Sonucu verir. 
Örnek
Şöyle yaparız.
byte[] hash = md.digest();
Örnek
String için şöyle yaparız.
String str = ...
byte[] hash = md.digest(str.getBytes(StandardCharsets.UTF_8));
Örnek
Şöyle yaparız. Kodu ilk başta buradan aldım
String calculateMd5Hex(Path jarPath) 
throws IOException, NoSuchAlgorithmException {
  try (ReadableByteChannel in = Channels.newChannel(Files.newInputStream(jarPath))) {
    MessageDigest md5Digest = MessageDigest.getInstance("MD5");

    ByteBuffer buffer = ByteBuffer.allocate(1024 * 1024); // 1 MB
while (in.read(buffer) != -1) { buffer.flip(); md5Digest.update(buffer.asReadOnlyBuffer()); buffer.clear(); }
BigInteger md5Actual = new BigInteger(1, md5Digest.digest()); return md5Actual.toString(16); } }
update metodu
Veriyi ekler. Şöyle yaparız.
byte[] data = ...;
md.update(...);

Hiç yorum yok:

Yorum Gönder