Ich migriere meinen PHP-Code zu Google App Engine - Java.
Also ich brauche ein Äquivalent von PHP-Crypt-Funktion in Java,
seit ich alle Passwörter der registrierten Benutzer
mit Crypt in meiner DB gespeichert habe.Entspricht der Crypt-Funktion von PHP in Java
Edit 1: Dies ist mein PHP-Code für die Verschlüsselung von Passwörtern:
$ password = "test123";
$ pwd = crypt ($ Passwort, $ Passwort);
echo $ pwd;
Ausgang ist (On Windows- sowie ein Linux-basierten Server auf HostMonser):
temjCCsjBECmU
Kann mir jemand geben equivalted Java-Code?
Ich habe mit
Message Klasse verschiedene Permutationen & Kombinationen ausprobiert, aber kann es nicht richtig machen ..
Edit 2:
Hier ist Beispielcode, die ich dachte funktionieren würde, aber nicht:
try {
{
String password = "test123";
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] passwordBytes = password.getBytes();
digest.reset();
digest.update(passwordBytes);
digest.update(passwordBytes);
byte[] message = digest.digest();
StringBuffer hexString = new StringBuffer();
for (int i=0; i < message.length; i++)
{
hexString.append(Integer.toHexString(
0xFF & message[ i ]));
}
String encrypted = hexString.toString();
System.out.println(encrypted);
} } catch (NoSuchAlgorithmException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Bitte sagen Sie mir, dass Sie nicht den Standard (DES) Kryptoalgorithmus verwenden ... es gibt einen Grund, warum moderne Unixen nicht mit dem Krypt-Dienstprogramm kommen - es wurde schon vorher gebrochen. –
@Billy ONeal: Der PHP-Standard ist vom Betriebssystem abhängig. Unter Linux/BSD wird standardmäßig das gesalzene MD5 verwendet (außer bei wirklich alten Versionen). Neuere Versionen können sogar ein neueres Schema verwenden, wie zum Beispiel gesalzene SHA512. – Powerlord
@Billy ONeal: Allerdings ist der Code, den dta * nur * gepostet hat, tatsächlich DES ... muss auf einem Windows-Rechner mit PHP 5.2 oder niedriger sein. – Powerlord