Los archivos PDF se utilizan ampliamente para almacenar y compartir información confidencial, desde estados financieros hasta documentos legales. Sin embargo, estos archivos pueden ser vulnerables al acceso y la edición no autorizados, por lo que es crucial cifrar y proteger con contraseña los archivos PDF para mantener su seguridad. En esta publicación de blog, exploraremos cómo cifrar y proteger con contraseña los archivos PDF utilizando las API REST basadas en Python. Si sigue las instrucciones paso a paso descritas en esta guía, podrá agregar una capa adicional de seguridad a sus archivos PDF y garantizar que permanezcan a salvo de miradas indiscretas. Entonces, ya sea que necesite proteger documentos comerciales confidenciales o archivos personales, siga leyendo para aprender a cifrar, proteger y asegurar sus archivos PDF con facilidad.

REST API para proteger PDF

Aspose.PDF Cloud SDK for Python es una poderosa herramienta que le permite agregar protección con contraseña a sus archivos PDF fácilmente. Con solo unas pocas líneas de código, puede cifrar sus archivos PDF y restringir el acceso a personas autorizadas. El SDK proporciona varios algoritmos de cifrado para elegir, incluidos RC4 de 40 bits, RC4 de 128 bits, AES de 128 bits y AES de 256 bits.

Ahora, para comenzar con Python SDK, el primer paso es su instalación. Está disponible para su descarga a través del repositorio PIP y GitHub. Entonces, ejecute el siguiente comando en la terminal/símbolo del sistema para instalar la última versión de SDK en el sistema.

 pip install asposepdfcloud

Credenciales del cliente

Después de la instalación, el siguiente paso importante es una suscripción gratuita a nuestros servicios en la nube en Aspose.Cloud Dashboard. Simplemente regístrese usando GitHub o una cuenta de Google haciendo clic en el botón Crear una nueva cuenta y proporcione la información requerida. Luego inicie sesión con una cuenta recién suscrita y obtenga sus credenciales de cliente.

Credenciales del cliente

Imagen 2: - Credenciales de cliente en el panel de control de Aspose.Cloud.

Cifrar PDF usando Python

La API le permite establecer dos tipos de contraseñas, es decir, contraseña de apertura de documento (contraseña de usuario) y contraseña de permiso (contraseña de propietario).

Contraseña de apertura de documento

Una contraseña de apertura de documento (también conocida como contraseña de usuario) requiere que el usuario escriba una contraseña para abrir el PDF.

contraseña de permisos

Se requiere una contraseña de permiso (también conocida como contraseña maestra/de propietario) para cambiar la configuración de permisos. Usando una contraseña de permisos, puede restringir la impresión, edición y copia de contenido en el PDF. Esta contraseña es necesaria para cambiar las restricciones que ya ha aplicado.

Si el PDF está protegido con ambos tipos de contraseñas, se puede abrir con cualquiera de ellas.

Además, tenga en cuenta que la API acepta las contraseñas de propietario y usuario en formato codificado Base64. En el siguiente fragmento de código, se especifican la contraseña del propietario (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) y la contraseña del usuario (dXNlciAkXlBhc3N3b3JkISY=). Siga los pasos que se indican a continuación para cifrar archivos PDF utilizando un fragmento de código de Python.

  • Cree una instancia de la clase ApiClient mientras proporciona el ID del cliente y el secreto del cliente como argumentos
  • En segundo lugar, cree una instancia de la clase PdfApi que tome el objeto ApiClient como argumento de entrada
  • Ahora llame al método postencryptdocumentinstorage(..) de la clase PdfApi mientras pasa el nombre del archivo PDF de entrada, las contraseñas de usuario y propietario (en codificación Base64) y un algoritmo criptográfico como argumentos.

¡Eso es todo! Con solo unas pocas líneas de código, hemos aprendido los pasos para proteger con contraseña los archivos PDF con Aspose.PDF Cloud SDK para Python.

def encrypt():
    try:
        #Client credentials
        client_secret = "d34641f4ff6bcc96e3a0ab6ac69768b2"
        client_id = "8e2b082f-1f74-4bc0-b454-5f68457d1c97"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # cree una instancia de PdfApi mientras pasa PdfApiClient como argumento
        pdf_api = PdfApi(pdf_api_client)

        #input PDF file name
        input_file = 'image-based-pdf-sample.pdf'

        # llame a la API para cifrar el documento
        response = pdf_api.post_encrypt_document_in_storage(name=input_file,user_password='dXNlciAkXlBhc3N3b3JkISY=',owner_password='b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm',crypto_algorithm='AESX128')

        # imprimir mensaje de éxito en la consola (opcional)
        print('PDF encrypted successfully !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)

Tenga en cuenta que puede utilizar cualquiera de los valores del algoritmo criptográfico durante el proceso de cifrado de PDF

Nombre Descripción
RC4x40 RC4 con longitud de llave 40.
RC4x128 RC4 con longitud de llave 128.
AESx128 AES con longitud de clave 128.
AESx256 AES con longitud de clave 256.

El archivo PDF de entrada utilizado en el ejemplo anterior se puede descargar desde awesomeTable.pdf.

Cifrar PDF usando el comando cURL

También se puede acceder a las API REST mediante comandos cURL en cualquier plataforma. Podemos usar la ventana del símbolo del sistema/terminal para ejecutar los comandos de cURL. Dado que Aspose.PDF Cloud también se desarrolla según la arquitectura REST, también podemos usar el comando cURL para cifrar los archivos PDF. Pero antes de continuar, debemos generar un token web JSON (JWT) basado en las credenciales de su cliente individual especificadas en el panel de control de Aspose.Cloud. Es obligatorio porque nuestras API solo son accesibles para usuarios registrados. Ejecute el siguiente comando para generar el token JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Ahora, una vez que tengamos el token JWT, debemos ejecutar el siguiente comando para cifrar el documento PDF.

curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Conclusión

En conclusión, el uso de una API REST para cifrar archivos PDF es una forma rápida y eficaz de garantizar la seguridad y privacidad de sus documentos importantes. Ya sea que necesite bloquear la edición de PDF o agregar protección con contraseña, estos métodos brindan una solución conveniente que es fácil de usar y segura. Siguiendo los pasos descritos en esta publicación de blog, puede proteger fácilmente sus archivos PDF y estar seguro de que su valiosa información está protegida.

Tenga en cuenta que nuestros SDK en la nube están creados con una licencia MIT, por lo que puede descargar el fragmento de código completo de GitHub. Además, recomendamos encarecidamente explorar la Guía para desarrolladores para obtener más información sobre otras características interesantes de la API.

Por último, si encuentra algún problema o tiene alguna consulta relacionada mientras usa la API, no dude en contactarnos a través del foro gratuito de atención al cliente.

Artículos relacionados

También sugerimos leer los siguientes artículos para obtener más información sobre