Tengo un código que funciona bien en Android. Cuando lo porté a mi máquina con Windows 64 bit con JRE 1.6, el código no funcionó.Excepción al llamar a MessageDigest.getInstance ("SHA256")
Cuando ejecuto la siguiente línea de código:
final MessageDigest digest = MessageDigest.getInstance("SHA256")
consigo la siguiente excepción:
java.security.NoSuchAlgorithmException: SHA256 MessageDigest not available
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at java.security.Security.getImpl(Unknown Source)
at java.security.MessageDigest.getInstance(Unknown Source)
Me conocer en la gente de Internet que afirman que es posible utilizar SHA256 con la criptografía estándar proveedor que viene con Sun JRE y la gente dice que necesito usar otro proveedor como, por ejemplo, Bouncy Castle.
Preferiría no utilizar un proveedor diferente. ¿Es posible hacerlo funcionar?
Sí, '" SHA256 "' es un alias presente en Bouncy. Tuve un error de Bouncy Castle corregido que usaba '" SHA256 "' en uno de los paquetes de protocolo de Bouncy, en lugar de '" SHA-256 "' que ha sido el nombre estándar en la JCE. Este es el peligro de aceptar más que el mínimo absoluto: funciona de una manera pero no de la otra. –
Entonces, ¿qué haces cuando el MD5 "garantizado" falla? En Oracle JRE, pero solo en algunas máquinas y no en otras ... Eso me ha dejado perplejo ahora mismo. :-( –
¿Ha comprobado sus proveedores de seguridad? –