21

Çerçeve ve parola karmaşası oynamak biraz yeni. Şifrelerimi bozmak için bazı çözümler bulmaya çalıştım ve BCrypt'i buldum. Sence bu parolaları aşmak için yeterince iyi. Ve eğer iyiyse, oyun çerçevesinde çalışmasını nasıl sağlayabilirim? (Oyna 2.1.3 kullanıyorum) Teşekkürler!Oyun çerçevesinde şifre oluşturma (belki BCrypt ile)

https://github.com/jroper/play-demo-twitbookplus/blob/master/app/controllers/UserController.java

Sen Scala benzer yapabilirsiniz:

cevap

40

İşte o NEWUSER() ve signin'i() eylemleri, şifreler karma görmek Bcrypt kullanır yazdığı bir örnek Çal Java proje. Bu kullanarak

val appDependencies = Seq(
    "org.mindrot" % "jbcrypt" % "0.3m" 
) 

Sonra karma şifreleri: Özetlemek gerekirse, Build.scala içinde bağımlılıkları için jbycrpt eklemek

String passwordHash = BCrypt.hashpw(password, BCrypt.gensalt()); 

Ve bu kullanarak şifreleri doğrulamak:

BCrypt.checkpw(password, passwordHash) 
+1

BCrypt tuz kullanarak bir karma oluşturursa, Kullanıcı modeline bir tuz eklemeniz gerekir, değil mi? Örneğinizde "tuz" için böyle bir alan yok. –

+4

Hayır, BCrypt çıktıdaki değerdeki düz tuzu içerir. Formatın% 100 emin değilim, ama "randomsalthere: saltedhashhere" satırlarında bir şey olurdu. Bu yüzden sadece önce değeri ayrıştırmak, tuz ve karma çıkarmak ve sonra şifre kontrolleri yapmak için hem hash hem de tuz vardır. –