Voglio sapere se l'algoritmo di digest MD5 è garantito disponibile in tutti i dispositivi Android prima di ignorare senza mezzi termini l'eccezione verificata che può generare MessageDigest.getInstance("MD5")
.MD5 è garantito per essere disponibile con MessageDigest in Android?
risposta
Android JCE (Java Cryptography Extension) si basa sull'implementazione del bouncycastle ma è ridotto al minimo. bouncycastle fornisce un sacco di diversi MessageDigest che possono essere trovati here.
Non è garantito che ogni dispositivo Android supporti MD5 ma è estremamente comune e probabilmente si trova su tutti i dispositivi in quanto è supportato in bouncycastle. Se vuoi sapere se il dispositivo supporta MD5 puoi controllare gli algoritmi supportati dal dispositivo. Altro su questo è here.
Sto ricevendo java.security.NoSuchAlgorithmException: MessageDigest MD5 implementation not found
su alcuni dispositivi. Ecco la lista:
GT-I8190
GT-I9100
GT-P3100
GT-S7562
HTC EVO 3D X515m
HTC Sensation 4G
HTC Sensation XL con Beats Audio X315b
LGL86C
LT22i
LT25i
LT26i
LT26ii
LT29i
SAMSUNG SGH-I727-
SGH-T769
SHV-E160K
SM-T211
ST21i
ST23i
ST26i
T7
e altri.
Queste sono le statistiche principalmente per l'Indonesia. Il punto divertente è che le statistiche sono fornite da Crittercism, e l'eccezione è lanciata anche da Crittercism (sembra che usi MD5 nelle ultime versioni).
- 1. md5 con Android e PHP
- 2. È std :: cout garantito per essere inizializzato?
- 3. MessageDigest MD5 Algorithm non restituisce quello che mi aspetto
- 4. ! 0 garantito per essere 1 in C89?
- 5. È tempo() garantito essere informato al secondo?
- 6. È Shutdownhook garantito per essere eseguito se JVM si blocca
- 7. È garantito un servizio Android per chiamare suDestroy()?
- 8. Classe MessageDigest Java in C#
- 9. Need thread safe MessageDigest in Java
- 10. MemoryMappedFile.CreateNew (...) è garantito per creare un file con zero?
- 11. Il TCP è garantito per arrivare in ordine?
- 12. L'API Zeroconf è disponibile in Android?
- 13. Foreach è garantito per iterare nell'array order in php?
- 14. QT è disponibile per piattaforme Android e iPhone?
- 15. È kernel/sched.c/context_switch() garantito per essere invocato ogni volta che viene avviato un processo?
- 16. Converti MD5 in stringa in java
- 17. Converti array MD5 in String java
- 18. Java calcolare hash MD5
- 19. com.android.camera.action.CROP non è disponibile per Android jelly bean 4.3?
- 20. Delphi - try finally block è garantito dal compilatore per essere eseguito correttamente?
- 21. equivalente oggettivo C di MessageDigest in Java?
- 22. È statico inizializzato non modificabileCollection.get garantito immutabile?
- 23. Formato data garantito per Excel
- 24. NumberFormat.getInstance è garantito per creare una nuova istanza?
- 25. È possibile la decodifica md5?
- 26. Java 8 New Date API è disponibile in Android N?
- 27. È garantito l'ordine di enumerazione per ciclo continuo NSArray?
- 28. Solr è disponibile per .Net?
- 29. È garantito che False "è 0" e True "è 1"?
- 30. Il puntatore è garantito per> un certo valore?
Se questa è una nuova applicazione ed è necessario l'hash per sicurezza, probabilmente non si dovrebbe più utilizzare MD5 poiché la sua sicurezza è gravemente compromessa. – Henry
Sto usando MD5 agli URL di hash per soli scopi di memorizzazione nella cache interna, qui non ci sono problemi di sicurezza – daniel