Tôi đang sử dụng md5 để đảm bảo bài đăng của mình cho một backendserver đang chạy PHP. Các tham số được gửi qua HTTP Post.md5 với Android và PHP
Tôi có một vấn đề, kết quả tính toán md5 của tôi là khác nhau trên Android và máy chủ PHP nếu có ü, ä hoặc ö trong một trong các tham số đầu vào.
Trên Android, băm được tính thông qua chức năng này:
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 "";
}
trên máy chủ PHP tôi chỉ đơn giản sử dụng
md5() function.
Âm thanh như một vấn đề mã hóa (ISO-8859-1 so với UTF-8 chẳng hạn). Bạn đang sử dụng bộ ký tự nào? Bạn có thể hiển thị một số mã không? –
chắc chắn, tôi sẽ chỉnh sửa bài đăng của mình. – tobias
bằng cách này, bạn có thể muốn sử dụng SHA1 hoặc một thuật toán khác để bảo mật bài đăng của bạn ... MD% không an toàn nữa –