Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

[java] verschlüsselungsmethoden

EDROD / 9 Antworten / Flachansicht Nickles

moin :)


da ich in java noch nicht mit verschluesslungsalgorithmen gearbeitet habe, bin ich mir nicht sicher ob folgender code das macht was er soll: einen string verschlüsseln und das ergebnis zurückgeben


public

class Start
{
  public static void
main(String[] args)
  {
    String message =
"huhu"
;
    System.out.println(message +
" = "
+ verschluessle(message));
  }

  public static String verschluessle(String s)
  {
    byte
[] bytearr = s.getBytes();
    MessageDigest md;
    String verschluesselt =
new
String();
    try
    {
      md = MessageDigest.getInstance(
"md5"
);
      md.digest(bytearr);
      verschluesselt = bytearr.toString();
    }
    catch
(NoSuchAlgorithmException nsa)
    {
      System.out.println(nsa.getMessage());
     }
    return
verschluesselt;
  }
}

da die laenge des ergebnisses mich stutzig gemacht hat, hab ich mal in php mit md5() probiert, ob ich da das selbe rausbekomm... war ned der fall

nun weiss ich nicht ob es an den möglicherweise verschiedenen verschlüsselungsalgorithmen "md5" in java und md5() in php liegt oder an meinem code >.<


bedanke mich schonmal im voraus 8)

bei Antwort benachrichtigen
editieren verboten ò_ô EDROD
EDROD Nachtrag zu: „[java] verschlüsselungsmethoden“
Optionen

stimmt.
das problem war die umwandlung des byte-arrays zurück in einen string. die toString methode wandelt das byte nicht in hex code.
um das byte-array dennoch in einen string umzuwandeln lässt man in einer schleife alle elemente des arrays durchlaufen; innerhalb der schleife extrahiert man das obere und untere halbbit des elements. per Integer.toString(halbbit, 16) erhält man den hex-string des jeweiligen halbbits, den man an einen StringBuffer anhängt (erst oberes, dann unteres halbbit).

bei Antwort benachrichtigen