Añadiendo contraseñas a nuestros ficheros de Microsoft

Esta entrada será un poco mas corta que la anterior ya que los pasos son prácticamente los mismo, pero lo que cambia son las librerías que utilizaremos y el script en groovy.

Vamos a los pasos. Si vas perdido te recomiendo ver la entrada anterior.

Importando las librerias

En este caso hay que importar unas cuantas librerías para poder encriptar a continuación la lista:

El resultado de la importación debería ser algo así:

Encriptando el Words

A continuación añadimos el paso de encriptación de word en groovy:

import com.sap.gateway.ip.core.customdev.util.Message

import org.apache.poi.xwpf.usermodel.XWPFDocument
import org.apache.poi.poifs.filesystem.POIFSFileSystem
import org.apache.poi.poifs.crypt.EncryptionInfo
import org.apache.poi.poifs.crypt.Encryptor
import org.apache.poi.poifs.crypt.EncryptionMode

import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream

def Message processData(Message message) {
    def inputPayload = message.getBody(byte[])

    // Password
    def pass = "1234"

    if (inputPayload && inputPayload.length > 0) {
        doc = new XWPFDocument(new ByteArrayInputStream(inputPayload))
    } else {
        doc = new XWPFDocument()
        doc.createParagraph().createRun().setText("Prova")
    }

    // Preparar encriptación
    POIFSFileSystem fs = new POIFSFileSystem()
    EncryptionInfo info = new EncryptionInfo(EncryptionMode.agile)
    Encryptor enc = info.getEncryptor()
    enc.confirmPassword(pass)

    // Documento encriptado en byte array
    ByteArrayOutputStream bos = new ByteArrayOutputStream()
    OutputStream os = enc.getDataStream(fs)
    doc.write(os)
    os.close()
    doc.close()

    fs.writeFilesystem(bos)
    fs.close()

    message.setBody(bos.toByteArray())
    return message
}

Con estos tips ya podéis proteger también vuestros ficheros Word.

Como siempre dale a la campanita de notificaciones y comparte en redes ayudarme a llegar a más personas.

Una respuesta a «Añadiendo contraseñas a nuestros ficheros de Microsoft»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.