Ben burada dün ve bazı gerçekten harika cevaplar aldım. Ben oldukça güvenli bir algoritma olacağını düşünüyorum, ne bende ne aldı ve birlikte koydu. Ben tuzunu oluşturan döngü için bir Blowfish kullanarak bir sorun yaşıyorum.
Ben rastgele bir dize almak için döngü için base64 karakterler ve a kullanıyorum. Ben bu oluşturulan dize almak ve tuz gibi crypt fonksiyonunun içine eklemek istiyorum.
Balon balığına ilgili belgeler bu kadar seyrek ve PHP docs gerçekten bile söz etmeyin, çünkü, ben tür burada karanlıkta bıçaklama ediyorum.
Gerçekten garip bir şey bu kodu şimdi olduğu şekilde çalıştırmak, eğer not başarısız olacaktır. Crypt işlevi döngü için or Yukarıdaki either '$ 2a $ 07 $' kaldırmak ve intermittently, şifreli bir dize döndürür. Blowfish Benim anlayış şifreli dize must "$ 'crypt işlevi dolayısıyla birleştirme içinde' $ 2a $ 07 $ 'ile başlar ve sonudur. Gerçekten için yukarıdaki başlayan dize gerekmez döngü ve sadece ondan kurtulmak istiyordu.
Ben de veritabanında or veritabanında crypt fonksiyonunun çıkışını saklayarak ya, rastgele tuz saklanması ile ilgili en iyi uygulama hakkında açıklama istersiniz?
Dün, sadece etrafında tartışma atılan gerçek bir kod yoktu. Ben bugün bir araya koymak bazı kod ve yerinde oldukça güvenli bir şey olmasını istiyorum. Herkes daha iyi bir algoritma ile gelebilir, ben her zaman açığım.
$base64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
$salt = '$2a$07$';
for($i=0; $i<60; $i++)
{
$salt .= $base64[rand(0,63)];
}
return crypt('password', '$2a$07$'.$salt.'$');