Używam md5 do zabezpieczenia moich postów do backendserver z PHP. Parametry są wysyłane za pośrednictwem HTTP Post.md5 z Androidem i PHP
Mam jeden problem, wynik mojego obliczenia md5 jest różny dla Androida i serwera PHP, jeśli istnieje ü, ä lub ö w jednym z parametrów wejściowych.
Na Androidzie hash oblicza tej funkcji:
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 "";
}
na serwerze PHP po prostu użyć
md5() function.
Brzmi jak problem kodowania (ISO-8859-1 na przykład UTF-8). Z jakich zestawów znaków korzystasz? Czy możesz pokazać kod? –
jasne, będę edytować mój post. – tobias
przy okazji, możesz użyć SHA1 lub innego algorytmu, aby zabezpieczyć swoje posty ... MD% nie jest już bezpieczny –