Dilemma, bir karma alanda arama başka hiçbir bilgi bilinen olduğunda

0 Cevap php

Ben bir ikilem yaşıyorum. Ben bir alan var hashedX bir karma / tuzlu değer ve yaygın bir uygulama olarak tuz mysql veritabanında aynı satırda kaydedilebilir.

hashedX      saltX
------       ------
hashed1      ssai3
hashed2      woddp
hashed3      92ofu

I inputX aldığınızda, ben hashedX gibi ([{hashed2 hashed1 olarak veya değerlerden herhangi eşleşirse bilmek gerekir 4)]}. Yani tipik benim girdi, karma / tuz sürer, ve hashedX değerleri karşılaştırmak istiyorsunuz. Sahte kod:

$hashed_input = hash ($input with $salt );
select * from tablename where $hashed_input is hashedX

Sorun saltX Ben herhangi bir select yapmadan önce bile $hashed_input almak gerekir hangi bilmiyorum.

Ben, veritabanı satırları teker teker geçmesi benim girişte söz tuz deneyin, giriş karma / Bu tuz maçı hashedX Aynı satır ile tuzlu olarak eğer kontrol edebilir. Ben 100.000 kayıtları varsa, benim tahminim bu acı yavaş olacağını olmasıdır. Ben veritabanları de bu harika değilim çünkü ben nasıl yavaş hiçbir fikrim yok.

  • Bunu yapmak için daha iyi bir yolu db karma değere tekrar karşılaştırarak sonra, tüm satırları seçerek içlerinden döngü, giriş hash bu satırın tuz kullanmak yerine, var mı?

0 Cevap