2013-01-03 31 views
7

Tôi muốn biết liệu thuật toán thông báo MD5 có được bảo đảm khả dụng trong tất cả các thiết bị Android trước khi tôi bỏ qua ngoại lệ đã kiểm tra mà MessageDigest.getInstance("MD5") có thể ném hay không.MD5 có được đảm bảo có sẵn để sử dụng với MessageDigest trong Android không?

+0

Nếu đây là một ứng dụng mới và bạn cần băm để bảo mật, có thể bạn không còn sử dụng MD5 vì bảo mật của nó bị xâm phạm nghiêm trọng. – Henry

+0

Tôi đang sử dụng MD5 để băm URL cho mục đích lưu vào bộ nhớ cache nội bộ, không có vấn đề bảo mật nào ở đây – daniel

Trả lời

3

Android JCE (Phần mở rộng mật mã Java) dựa trên việc triển khai bouncycastle nhưng bị tước xuống. bouncycastle cung cấp một tấn MessageDigests khác nhau có thể được tìm thấy here.

Không có gì đảm bảo rằng mọi thiết bị Android đều hỗ trợ MD5 nhưng rất phổ biến và có khả năng xuất hiện trên mọi thiết bị vì nó được hỗ trợ trong bouncycastle. Nếu bạn muốn biết liệu thiết bị có hỗ trợ MD5 hay không, bạn có thể kiểm tra các thuật toán mà thiết bị hỗ trợ. Thêm vào đó là here.

11

Tôi nhận được java.security.NoSuchAlgorithmException: MessageDigest MD5 implementation not found trên một số thiết bị. Dưới đây là danh sách:

GT-I8190
GT-I9100
GT-P3100
GT-S7562
HTC EVO 3D X515m
HTC Sensation 4G
HTC Sensation XL với Beats Audio X315b
LGL86C
LT22i
LT25i
LT26i
LT26ii
LT29i
SAMSUNG-SGH-I727
SGH-T769
SHV-E160K
SM-T211
ST21i
ST23i
ST26i
T7

và những người khác.

Đây là số liệu thống kê chủ yếu cho Indonesia. Điểm hài hước là, các số liệu thống kê được cung cấp bởi Crittercism, và ngoại lệ được ném bởi Crittercism quá (có vẻ như nó sử dụng MD5 trong phiên bản mới nhất).

Các vấn đề liên quan