Nasıl bir PHP uygulaması bcrypt vendorize (ve olmalıdır I) olabilir?

0 Cevap php

Ben oldukça olgun bir açık kaynak PHP projesine katkıda bulunuyorum. Son zamanlarda, ben benim için oldukça rahatsız edici sade MD5 sağlamalarının yanı şifrelerinizi saklayan keşfetti. Ben bunu düzeltmek için gidiyordu, ben de It Right (tm) mı diye düşündüm, o yüzden Bcrypt kullanmak istedim.

Öncelikle, ne diğer diller için bulduk: bcrypt-ruby, orijinal OpenBSD'nin C kodu veya jBCrypt 'nin java kodu ya da kullanmak için görünür. py-bcrypt BSD kod etrafında ince bir sarıcı. BCrypt.net doğrudan bir bağlantı noktası olan jBCrypt.

Şimdi, PHP kendisi the crypt function in (yanıltıcı basitçe 'balon balığı' olarak adlandırılan, olsa) Bcrypt destekler. Ancak, önce 5.3 sürümleri genellikle crypt_blowfish tarafından sağlanan, sistemin kendisinde desteği gerektirir. phpass aynıdır, ve PHP 5.3 veya Suhosin ya yüklenmesini önerir.

Uygulama kullanımı standart birçok kullanıcı hosting beri, ben sunucu herhangi bir özel yapılandırma gerektirmez istemiyorum. Ben sadece PHP'nin 5.3 sürümünden kodunu çalmak için umuyordum, ancak C ve (okuma küçük bit Ben sadece yaptığım) Ben projenin kullanıcıları için bir C-uzantısının kullanımını gerektiren olamaz.

Ben sadece bcrypt saf-PHP noktası oluşturma düşündüm, ama bakarak the source of jBCrypt, ben burada bir hata PHP veya balon balığına ya inanılmaz aşina değilim verilen, ben emin değilim, ve ilk etapta tespit anda tehlikeli ve zor olabilir.

Peki, ben size iki (çok parçalı) soruları sunmak:

  1. PHP bilginiz benim eksikliği beni iyi mi gidiyor? Gerçekten önceden oluşturulmuş uygulamaları birini kullanabilir miyim?
  2. Ben yerine sadece sha1() veya md5() art arda zamanlarda bazı yapılandırılabilir numarası için çağrı basit bir loooping fonksiyonu oluşturmak gerekir?

0 Cevap