5

Ich bin neu bei Scala, ich muss Benutzer-Passwort in Daten in der Datenbank speichern, also möchte ich, dass es in einer verschlüsselten Form speichert. kann mir jemand über die Verschlüsselung in Scala 2.10 play frame 2.2 verweisen. gibt es eine Möglichkeit, dass ich die Verschlüsselung direkt in der Modellfunktion verwende, kurz bevor die Abfrage des Passworts eingefügt wirdWie speichert man ein Verschlüsselungs-Passwort in MySQL in Scala playframework 2.2?

+1

So wie Sie es in Java tun würden. – pedrofurla

Antwort

7

Ich persönlich benutze JBCrypt (eine Java-Bibliothek). Wenn Sie möchten, verwenden, dass Sie diese Zeile in appDependencies in Ihrem Build.scala "org.mindrot" % "jbcrypt" % "0.3m"

Dann in Ihrem Modell hinzufügen würde import org.mindrot.jbcrypt.BCrypt

BCrypt.hashpw("password", BCrypt.gensalt(12)) wird hash „Passwort“, die Sie dann zu Ihrem SQL binden können einfügen für Ihren Benutzer. Um ein Passwort zu überprüfen, würden Sie den Hash abrufen und BCrypt.checkpw(password, hash) verwenden, die true zurückgibt, wenn das angegebene Kennwort korrekt ist.

+0

@LimbSoup Ich erwähne bereits in Frage, dass ich play framework 2.2 und es gibt keine build.scala-Datei im play framework 2.2 –

+2

@GovindSingh gibt es nichts, das Sie daran hindert, eine Build.scala in Play 2.2 zu verwenden, kann das verwenden oder bauen. sbt, oder vermutlich beide, wenn Sie so geneigt waren (haben Sie das letzte nicht versucht) – virtualeyes

+0

@GovindSingh Ich benutze Build.scala in Play 2.2. Wie virtualayes sagte, können Sie entweder das oder build.sbt verwenden. –