API Java
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
EncDec.java

Ejemplo de cifrado y descifrado simétricos.

Véase la nota sobre ejemplos.
paquete doxy.examples;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class EncDec {
static String hsmIp = "127.0.0.1";
static String hsmUser = "maestro";
static String hsmUserPassword = "12345678";
public static void main(String[] args) throws TacException {
Dinamo api = new Dinamo();
api.openSession(hsmIp, hsmUser, hsmUserContraseña);
byte[] iv = new byte[]{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
String plainText = "asdfasdfasdfasdfas";
byte[] originalData = plainText.getBytes(StandardCharsets.UTF_8);
Cadena keyId = "aes256";
api.createKey(keyId, TacNDJavaLib.ALG_AES_256);
byte[] cifrado = api.cifrar(
keyId,
originalData,
iv,
TacNDJavaLib.D_PKCS5_PADDING,
TacNDJavaLib.MODE_CBC
);
byte[] descifrado = api.descifrar(
keyId,
encriptado,
iv,
TacNDJavaLib.D_PKCS5_PADDING,
TacNDJavaLib.MODE_CBC
);
if(!Arrays.equals(originalData, decrypted))
{
System.out.println("¡Los datos descifrados no son los mismos que los datos originales!");
volver;
}
System.out.println("Datos descifrados correctamente");
api.deleteKeyIfExists(keyId);
}
}