Sto utilizzando un md5 per proteggere i miei post su un server back-end che esegue PHP. I parametri vengono inviati tramite HTTP Post.md5 con Android e PHP
Ho un problema, il risultato del mio calcolo md5 è diverso su Android e sul server PHP se c'è un ü, ä o ö in uno dei parametri di input.
Su Android, l'hash viene calcolato tramite questa funzione:
public static final String md5(final String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest
.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++) {
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
sul server PHP ho semplicemente utilizzare
md5() function.
Suona come un problema di codifica (ISO-8859-1 contro UTF-8 per esempio). Quali set di caratteri stai usando? Puoi mostrare un po 'di codice? –
certo, modifico il mio post. – tobias
a proposito, potresti voler usare SHA1 o un altro algoritmo per proteggere i tuoi post ... MD% non è più sicuro –