Java'da herhangi bir dosya için MD5 sağlama toplamı nasıl alınır? Apache Common'ın DigestUtils.md5Hex yardımcı programı nasıl kullanılır?

Yayınlanan: 2021-08-28
Java'da herhangi bir dosya için MD5 sağlama toplamı nasıl alınır? Commons-codec'in DigestUtils.md5Hex'ini kullanın

Kurumsal uygulamanızın güvenliğini sıkın, herhangi bir organizasyonun en büyük zorluğudur.

Bu gerçek üretim senaryosunu düşünün:

  1. reads the value bir uygulamanız var
  2. Dosya değerine bağlı olarak ekleme/silme/yürütme gibi performs some operations gerçekleştirir.
  3. Bu uygulamayı üretim ortamında dağıttınız
  4. Ya unauthorized person sizin bilginiz dışında o dosyanın changes the value ?
  5. Uygulamanız bir dosyadan simply gets new value ve unexpected outcome neden olabilecek mantığı çalıştırır.
  6. Bu dosya için MD5 sağlama toplamını etkinleştirmişseniz, açık hata mesajıyla could have created an exception oluşturmuş ve you could have prevented disaster

MD5 sağlama toplamı nedir?

Bir dosyanın MD5 sağlama toplamı, dosyanın parmak izi gibi bir şey olan 128-bit value . Hem dosyaları karşılaştırmak hem de bütünlük kontrolleri için faydalı olabilir.

Farklı dosya için aynı değeri elde etmek neredeyse imkansızdır. Bu öğreticide, belirli bir dosya için MD5 değerleri oluşturan ve döndüren basit bir Java programı oluşturacağız. Bizim durumumuzda bu index.php dosyasıdır.

Başlayalım:

Aşama 1

Ortak sınıf CrunchifyGetMD5ForFile.java oluşturun

Adım 2

Aşağıdaki iki maven bağımlılığını projenizin pom.xml dosyasına aktarın. Projeyi maven projesine dönüştürmek için öğretici.

commons-codec ve commons-io kitaplıkları kullanıyoruz.

Aşama 3

DigestUtils.md5Hex yardımcı programını kullanarak MD5 sağlama toplamı oluşturun ve sonucu konsolda yazdırın.

DigestUtils.md5Hex => encodeHex Uygulaması

İşte tam bir program.

sınıf crunchifyGetMd5ForFile.java oluşturun

Sadece yukarıdaki programı bir Java Uygulaması olarak çalıştırın ve buna benzer bir sonuç göreceksiniz.

IntelliJ IDEA konsol sonucu:

Dosya bütünlüğünü doğrulamak için çalışma zamanında bu MD5 sağlama toplamını nasıl kullanacaksınız?

Bu MD5 sağlama toplamını çalışma zamanında MySQL, Oracle vb. gibi y0ur veritabanınızda depolanan değerle karşılaştırabilirsiniz.

Aynısını elde etmenin başka yolları da var, ancak bunu gelecekteki öğreticilerde tartışacağız.