Bir web sayfasındaki bir dosyanın MD5 değerini hesaplamak için neyse ki, bu proje sadece modern tarayıcılarla uyumlu olması yeterli, aksi takdirde oyun kaybedilir.
Aslında, dosyalarda md5 arka uç için çok basit. Örneğin, Node.js kullanıldığında, sadece aşağıdaki kod satırları yeterli olur:
Ama tarayıcılar için, HTML5'in dosya API'sini kullanamazsanız, md5 dosyası için neredeyse imkansız. Dosya API'sini kullanamıyorsan, lütfen benimle paylaş.
Bir tarayıcıda dosyayı md5 yapmak için temel fikir, HTML5 FileReader arayüzünü kullanarak dosyayı belleğe okumak, ardından dosyanın ikili içeriğini almak ve son olarak md5 almaktır.
Github'da zaten bu sorunu araştıran insanlar var ve en iyi projelerden biri dünyanın en hızlı md5 algoritmasını kullanan js-spark-md5.
Daha iyi kod yeniden kullanımı için, js-spark-md5 üzerine tarayıcı-md5-dosyasını kapsülledim, bu da md5 dosyasını kullanmayı kolaylaştırıyor.
Proje adresi: browser-md5-file:https://github.com/forsigner/browser-md5-file
Kullanımı çok kolay:
Detaylı kullanım için lütfen Github'daki dokümantasyonu kontrol edin.
Tarayıcı uyumluluğu açısından, kullanılan HTML5 API nedeniyle yalnızca aşağıdaki tarayıcılarla uyumlu olabilir:
- IE10+
- Firefox
- Krom
- Safari
- Opera
Bir diğer nokta ise, büyük MD5 dosyalarının dosyaları belleğe okuma ihtiyacı nedeniyle kötü performans göstereceğidir.
|