tuz ve karma nesil soru

2 Cevap php

Ben sadece bir şey hakkında görüşlerinizi istiyorum.

Temelde ben = kimliktir $ uniqueID denilen değerini + Soyadının Ad + Birinci Mektubu Birinci Mektubu + Dize "CAN" var

$ Tuz = sha1 ($ uniqueID) olarak takip Daha sonra tuz değer haline $ uniqueid döndü;

Sonra) (MD5 kullanarak bir karma değer haline kullanıcının parolasını döndü.

Ben daha sonra bu iki değerin doğru veri türlerini kullanarak bir veritabanında saklanır seperatley var.

Bu kullanıcının iki doğrulama türlerini korumak için güvenli bir yol olurdu diye merak ediyordum? Parola doğrulama kullanıcı tarafından yapılabilir olacak ve $ uniqueID bir komut dosyası aracılığıyla yapılabilir olacaktır.

Ben bir marka yeni bir tane oluşturmak zorunda olacak parolanızı size hatırlatmak için bir hizmet sunan olmayacak.

Ben de oturumları için bazı secuirty implmented var.

2 Cevap

Genel olarak, bir tuz için kullanılan her bir referans noktası için benzersiz olan bir rastgele bir değerdir. Yani, her kullanıcının kendi şifresini karma zaman kullanılan kendi rasgele ve benzersiz tuz olması gerektiği anlamına gelir. Ve bir tuz üretmek için herhangi bir kullanıcı bilgilerini kullanmayın.

Bu, örneğin, kullanımı rand and uniqid , her bir kullanıcı için bir rastgele ve benzersiz bir tuz oluşturmak için olabilir:

$salt = uniqid(rand(), true);

Bu tuz eşsiz ve rastgele hem de olacaktır.

I sha1 hem $uniqueID ve şifre alanı kullanmanızı tavsiye ediyorum.

Ayrıca, tuz şifrenizi alanına emin olun.

Ayrıca, tek yönlü sağlamalarının farklı girişlerinden aynı değere varmak fazlalaştı. Bamya işaret olarak benzersiz bir kimlik olarak $uniqueID kullanarak planlıyorsanız, sorunlarla çalıştırmak olacaktır. (Yani yok ;-)

Eğer bir oturum anahtarı olarak uniqueID kullanmak istiyorsanız, o zaman en azından kullanmadan önce çarpışma kontrol etmek isteyecektir. Zend.Session, CodeIgniter->session ve Kohona::Session gör