Karma parola alanı için hangi veri türü ve hangi uzunluk kullanılmalı?

Şifre hashing'in nasıl çalıştığından emin değilim (daha sonra uygulayacağım), ancak şimdi veritabanı şeması oluşturmam gerekiyor.

Parolaları 4-20 karakterle sınırlamayı düşünüyorum, ancak anladığım kadarıyla şifrelemeden sonra hash dizesi farklı uzunlukta olacak.

Peki, bu şifreler veritabanında nasıl saklanır?

Tuzlama hakkındaki bu Wikipedia makalesini değerli bulabilirsiniz. Buradaki fikir, hash değerinizi rastgele hale getirmek için bir dizi veri eklemektir; bu, birisinin parola hash'lerine yetkisiz erişimi olması durumunda parolalarınızı sözlük saldırılarından koruyacaktır.

Yorumlar (3)

Sabit uzunlukta bir dize olarak (VARCHAR(n) veya MySQL nasıl adlandırıyorsa). Bir hash her zaman örneğin 12 karakterlik sabit bir uzunluğa sahiptir (kullandığınız hash algoritmasına bağlı olarak). Yani 20 karakterlik bir parola 12 karakterlik bir hash'e indirgenir ve 4 karakterlik bir parola da 12 karakterlik bir hash verir.

Yorumlar (1)

Her zaman şifrelenmiş bir dizenin MAX dize uzunluğunu bulmayı ve bunu bir VARCHAR türünün karakter uzunluğu olarak ayarlamayı test ettim. Kaç kayda sahip olacağınıza bağlı olarak, veritabanı boyutuna gerçekten yardımcı olabilir.

Yorumlar (0)