Avatar billede dsj Nybegynder
11. december 2002 - 14:51 Der er 4 kommentarer og
1 løsning

Problem med MD5-kryptering

Jeg har en webside (jsp), hvor man kan logge ind ved at indtaste navn og kode, som sendes til en RMI-server, der tjekker, om der i en MySQL-database findes en bruger med det navn og den kode.

Koden krypteres på serveren med nedenstående metode (MD5), men nogen gange stemmer den gemte kode i DB'en ikke overens med det indtastede (som selvfølgelig også er krypteret med samme metode).

Er der nogen der kan sige mig, hvorfor de to strenge (fra databasen og indtastede), der er krypteret med præcis samme metode er forskellige???

Krypterings metode:

  private String encrypt(String pass) {
    try {
      MessageDigest md = MessageDigest.getInstance("MD5");
      return new String(md.digest(pass.getBytes()));
    } catch (Exception e) {
      return null;
    }
  }
Avatar billede carstenknudsen Nybegynder
11. december 2002 - 14:58 #1
Prøv at arbejde med byte arrays i stedet, det kunne
være at det at omdanne en byte array til en String
kunne give forskellige resultater i Java og i DB.
Avatar billede arne_v Ekspert
11. december 2002 - 15:05 #2
Bliver de krypteret af samme kode ?
Avatar billede erikjacobsen Ekspert
11. december 2002 - 15:05 #3
Der er forskel på store og små bogstaver, et ekstra mellemrum vil også
give forskellige resultater. Derfor? (Det er formelt ikke en kryptering
du laver, for du kan ikke komme tilbage ... med det er en anden sag)
Avatar billede dsj Nybegynder
11. december 2002 - 17:02 #4
Jeg fandt problemet, kodefeltet i databasen var ikke sat til casesensitive, og selvom en kode kun bestod af tal ville det give fejl. Men nu virker det ellers tak for hjælpen...
Avatar billede dsj Nybegynder
11. december 2002 - 17:02 #5
Jeg fandt i øvrigt ud af det ret hurtigt, men fik ikke skrevet med det samme :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester