Sono nuovo a scala, devo memorizzare la password utente nei dati nel database, quindi voglio che si archivi in forma crittografata. qualcuno può riferirmi come si fa alla crittografia in scala 2.10 play framework 2.2. c'è un modo che io uso direttamente la crittografia in funzione di modello, poco prima della query di inserimento di una passwordcome memorizzare una password di crittografia in mysql in scala playframework 2.2?
risposta
io personalmente uso JBCrypt (una libreria Java). Se si desidera utilizzare che si desidera aggiungere questa riga al tuo appDependencies nel vostro Build.scala "org.mindrot" % "jbcrypt" % "0.3m"
Poi nel modello import org.mindrot.jbcrypt.BCrypt
BCrypt.hashpw("password", BCrypt.gensalt(12))
sarà hash "password", che si può quindi associare al vostro SQL inserire per il tuo utente. Per verificare una password, si recupera l'hash e si utilizza BCrypt.checkpw(password, hash)
, che restituisce true
se la password specificata è corretta.
@LimbSoup ho già menzionato in questione che sto usando play framework 2.2 e non c'è alcun file build.scala in play framework 2.2 –
@GovindSingh non c'è nulla che ti impedisca di usare Build.scala in Play 2.2, puoi usarlo o compilare. sbt, o presumibilmente entrambi se fossi così inclinato (non ho provato quest'ultimo) – virtualeyes
@ GovindSingh Sto usando Build.scala in Play 2.2. Come detto virtuale, puoi usare quello o build.sbt. –
C'è un oggetto play.api.libs.Crypto
nel quadro di gioco: http://www.playframework.com/documentation/2.1.1/api/scala/index.html#play.api.libs.Crypto$
EDIT: Come proposto dalla @ Mark Lister, si dovrebbe definitivamente dare un'occhiata à JBcrypt.
Quasi certamente non vuoi firmare la password. Vedi https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet. JBcrypt è una buona idea. –
Sì, hai ragione! –
sto scrivendo Scala/Akka e trovato la fonte java discussione e campione a
https://crackstation.net/hashing-security.htm#javasourcecode
estremamente semplice ed efficace.
- 1. PlayFramework 2.2 Java Action Composition
- 2. Crittografia delle password in WinForms app.config, .NET
- 3. Creare una connessione MySQL in Playframework con slick
- 4. Come memorizzare le password * correttamente *?
- 5. Come memorizzare decimale in MySQL?
- 6. Memorizzare in modo sicuro una password nel codice del programma?
- 7. Crittografia password Maven BadPaddingException
- 8. Crittografia delle password
- 9. Come hash una password
- 10. Come serializzare Scala Map to Json in PlayFramework?
- 11. È comune memorizzare una password utente in una sessione PHP?
- 12. Come utilizzare un tratto sicuro Scala in PlayFramework?
- 13. Come implementare la protezione CSRF in PlayFramework 2.1.x (Scala)?
- 14. come riutilizzare un parser anorm in playframework 2.0 con scala
- 15. Come memorizzare SQLcipher password localmente
- 16. Memorizzazione di password hash in MySQL
- 17. Come creare una password di sei caratteri in MySQL 5.7
- 18. MySQL PersistenceException, "Connessione chiusa" in Play! 2.2
- 19. Come memorizzare un array in mysql?
- 20. Crittografia utilizzando la password dell'utente
- 21. Bootstrapping di dati JSON in modelli Scala PlayFramework
- 22. Implementazione di questo algoritmo di crittografia password Java in PHP
- 23. Memorizzare una password in NSString senza essere leggibile nella memoria
- 24. Memorizzare password con python
- 25. PHP Secure Login - crittografia della password
- 26. Dove memorizzare la chiave di crittografia
- 27. Versione di Akka in Playframework
- 28. Metodi di crittografia password nel classico ASP
- 29. Come memorizzare la password su Android
- 30. Parametro dinamico nel modello Scala per PlayFramework
Nello stesso modo in cui lo faresti in Java. – pedrofurla