Seguridad

AESCIPHER

AESCipher implanta la cifrado AES en el modo CBC para los arágenes de byte incorporados a Documentación PDF.

byte[] key = ...; // 128, 192, or 256-bit key
byte[] data = "sensitive data".getBytes();

byte[] ciphertext = AESCipher.encrypt(key, data);
byte[] plaintext  = AESCipher.decrypt(key, ciphertext);

Para la cifrado determinista con un vector de iniciación explícito:

byte[] iv = new byte[16]; // 128-bit IV
byte[] ciphertext = AESCipher.encryptWithIV(key, iv, data);
byte[] plaintext  = AESCipher.decryptWithIV(key, iv, ciphertext);

PdfFileSecurity

PdfFileSecurity Gestión de la cifrado de contraseña y permiso de acceso a nivel de documento. El encryptFile() El método acepta una contraseña de usuario, la contrasinal del propietario, DocumentPrivilege El objeto y el tamaño clave.

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
    priv.setAllowPrint(true);
    security.encryptFile("userPass", "ownerPass", priv, KeySize.x256);
}

decryptFile(ownerPassword) Eliminar la cifrado de un documento encriptado.

DocumentPrivilege

DocumentPrivilege Representa las banderas de permiso para el documento cifrado. Uso getAllowAll() para dar todas las autorizaciones, getForbidAll() para negar a todos, o -Configuraciones individuales a través de las setAllowPrint(), setAllowModifyContents(), setAllowCopy(),y, setAllowModifyAnnotations().

El algoritmo enum

El Algorithm Enum selecciona la familia de algoritmos criptográficos:

  • Algorithm.RC4 - El nuevo RC4 Stream Chipher
  • Algorithm.AES - AES Block Chifer (recomendado)

Ver también

 Español