Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [java & PHP] algoritmo MD5

    Salve a tutti,

    Premetto ch econosco poco il PHP ma ho un piccolo problema da superare.

    Il PHP quando utilizza MD5 per criptare una password restituisce una stringa di 32 caratteri composta da lettere e numeri.

    Il java 1.3 (la mia versione) quando utilizzo MD5 mi restituisce 16 byte che convertiti in caratteri mi fornisce questo risultato ÒÍÇró?ÿ´ºÇ²38FÉ

    Qualcuno sa dirmi come posso ottenere lo stesso risultato tra i due linguaggi!!!
    TonyTalk
    Gioca a The Empire Multiplayer online game...ispirato a Risiko ma con scenari ed opzioni rivoluzionarie
    http://www.multiplayergames.it
    http://utenti.lycos.it/the_empire

  2. #2
    Ok ho risolto eheheh vi posto qui il codice non si sa mai dovesse servire in futuro
    codice:
      private static final String HEX_DIGITS = "0123456789abcdef";
    
      private static String toHexString(byte[] v) {
          StringBuffer sb = new StringBuffer(v.length * 2);
          for (int i = 0; i < v.length; i++) {
            int b = v[i] & 0xFF;
            sb.append(HEX_DIGITS.charAt(b >>> 4))
              .append(HEX_DIGITS.charAt(b & 0xF));
          }
          return sb.toString();
      }
    
      public static void main(String[] args) throws Exception{
        String improntaOriginale = "prova";//codifica PHP =189bbbb00c5f1fb7fba9ad9285f193d1                                       
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] impronta = md.digest(improntaOriginale.getBytes("UTF-8"));//Cripta
        System.out.println("toHexString="+toHexString(impronta));
    }
    TonyTalk
    Gioca a The Empire Multiplayer online game...ispirato a Risiko ma con scenari ed opzioni rivoluzionarie
    http://www.multiplayergames.it
    http://utenti.lycos.it/the_empire

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Grazie mille! Hai risolto un grande problema anche a me (non era legato a PHP, ma al MD5).

    Solo una domanda: come ritorno dalla parola codificata a quella decodificata? Ossia, avendo la stringa "189bbbb00c5f1fb7fba9ad9285f193d1" come ritorno ad avere "prova"?

    Grazie.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    non hai alcun modo per tornare all'originale
    in quanto si tratta di un hash one way e non di un crypt vero e proprio

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ah... ok... allora è perfettamente inutile!


    Grazie!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    dipende da cosa devi farci.. se devi controllare una corrispondenza tra un md5 di una pwd che hai memorizzato e una password usi semplicemente if (md5diprima=md5(password)).. ed il gioco è fatto

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sì ma a me serve un sistema biunivoco: non devo solamente criptare i dati, ma anche poterli decriptare. Per me, quindi, è perfettamente inutile!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.