Descifrador de autenticación DESFire

Actualmente estoy trabajando con tarjetas sin contacto DESFire EV1. Estoy tratando de descifrar un DES / CBC cifrado random_b con masterkey: "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00".

Estoy usando este código:

byte[] encipheredCodeRandomB = { (byte)0xEA ,(byte)0x18 ,(byte)0xDE ,(byte)0xFF
     ,(byte)0x52 ,(byte)0x0E,(byte)0xCD, (byte) 90};
byte[] masterKeyBytes = "0000000000000000".getBytes();
byte[] ivBytes = "00000000".getBytes();

DESKeySpec desKeySpec = new DESKeySpec(masterKeyBytes);  
SecretKeyFactory desKeyFact = SecretKeyFactory.getInstance("DES");
SecretKey s = desKeyFact.generateSecret(desKeySpec);
aliceCipher = Cipher.getInstance("DES/CBC/NoPadding");
aliceCipher.init(Cipher.DECRYPT_MODE, s, new IvParameterSpec(ivBytes));

byte[] decipheredCodeRandomB = aliceCipher.doFinal(encipheredCodeRandomB);

pero este código no descifra correctamente. Estoy obteniendo este resultado no válido: "4B 9D 5A 91 AE 93 F8 ED", el correcto es: "A4 2F 3E 84 2C 5A 29 68"

Respuesta 1

En Apache Tomcat / 9.0.14, creé un servlet muy simple para ejecutar, pero recibí un error: el servidor de origen no encontró una representación actual para el recurso de destino o no está dispuesto a revelarlo ...

¿Hay una buena manera de combinar ByteBuffer y FloatBuffer? Por ejemplo, obtengo datos de bytes [] y necesito convertirlos en datos flotantes [] y viceversa: bytes [] a flotantes [] (java.lang ...

Ok, lo que intento hacer es leer de un archivo .text a otro archivo de texto usando un botón. Por lo tanto, es impulsado por eventos, pero tengo que invertir la salida. Estoy codificando en netbeans porque soy un novato y ...

Entonces, cuando publiqué mi aplicación en Google Play Store, tuve que cambiar la clave SHA1 en Firebase y Google Play API Console por la nueva que generó Google Play Console. El problema ahora es si ...