Codifica in java (da js a java)


Ho questo pezzo di codice js che ho bisogno di convertire in codice java corretto per l'utilizzo nella mia app Android:

toHex(Crypto.util.bytesToBase64(Crypto.SHA1(password, { asBytes: true })));

Ho scoperto che per il metodo Crypto.util.bytesToBase64(), posso usare la versione java: Base64.encode(), ma non ho idea di come chiamare i metodi js CryptoSHA1() e toHex() in java. Qualche idea?

Author: Xander, 2014-04-19

1 answers

Il codice utilizza tre funzioni:

  1. SHA-1 digest

    MessageDigest md = MessageDigest.Scarica ora ("SHA-1"); byte [] digest = md.digest (testo.getBytes ("UTF-8"));

  2. Base 64

    Stringa base64 = Android.util.Base 64.Codifica (digest)

  3. Esadecimale

Usa una funzione come questa: http://vinnysoft.blogspot.de/2010/11/code-snippet-to-convert-string-to-hex.html

In sintesi l'ultimo passaggio è totalmente inutile e fa saltare solo i dati. Il risultato di base64 è già una stringa ASCII stampabile.

Inoltre l'hashing di una password usando SHA-1 può essere insicuro a seconda di cosa si fa con il risultato. Di solito l'hashing della password dovrebbe sempre incorporare la salatura.

 2
Author: Robert, 2014-04-19 08:50:14