JavaScript'te uygulanan düşük çarpışmalarla hızlı bir karı arıyorum. Bir kripto hastası olması gerekmiyor. Temel olarak, belirli bir dosyanın büyük (video) dosyalarda bazı yükleme sürelerini kaydetmek için bir kullanıcının hesabına daha önce yüklendiğini (veya kısmen yüklendiğini) görmenin bir yolu olarak kullanıyorum.Dosyalara karşı JavaScript için hızlı, düşük-çakışmalı kripto karma hashtag
Dosya dilimlerini okumak için yeni HTML5 Dosya API'sini kullanıyorum. Daha sonra, dosyanın bir özetini vermek için bunu SparkMD5'a uzatırım. SparkMD5'in artımlı bir karma yapmama izin vermesini seviyorum, böylece hafızada bütün şeyi okumak zorunda kalmam.
Genel olarak, SparkMD5 ihtiyaçlarım için çalışmaktadır, ancak büyük dosyalar için bana hash'ım (bir 300MB dosya için yaklaşık 30 saniye) almak biraz zaman alabilir. Bunu ideal olarak azaltmak isterim. Karma fonksiyonlar hakkında bilgili değilim, bu yüzden bir şeyleri yönlendirmek istemiyorum ve ideal olarak zaten uygulanan bir kütüphaneyi arıyorum. Burada
Ne kabul edilebilir bir süre olurdu? MD5'ten daha hızlı olması beklenen CRC32'ye bakabilirdiniz, ancak fark edilebilir olmayabilir ve muhtemelen daha yüksek bir çarpışma oranına sahip olacaksınız. – Graham
Yea, CRC32'ye baktım ama çarpışma oranının% 0.4 olduğu bir yerde okudum. Bunun doğru olup olmadığını bilecek kadar bilgili değilim ama başkalarının yüksek bir çarpışma oranına sahip olduğunu gösteren başkaları da var gibi görünüyordu. –
Sorunuzu cevaplamak için, bir 1GB dosya için bile sadece birkaç saniye sürmesini istiyorum. Bunun gerçekçi olup olmadığını bilmiyorum. –