J'ai besoin de chiffrer et de déchiffrer les fichiers PDF. Existe-t-il une API de Java gratuit ou low cost qui fait cela? Fondamentalement, j'ai besoin de masquer des fichiers d'utilisateurs normaux. Toute autre suggestion sur la réalisation de ce problème? P>
merci, Profond p>
3 Réponses :
en utilisant iText : voici l'API pour PDFenCryptor et
Merci Frederik. Pouvez-vous également fournir du code pour déchiffrer le fichier crypté?
Pour quelle version d'ITEXT est viable?
On dirait que ITEXT a changé un peu depuis que cette réponse a été acceptée. Voici Un exemple de crypter et de déchiffrer dans IText 7 . Et ici est l'emplacement mis à jour de l'API Docs.
en utilisant pdfbox (basé sur Decrypt.java Code):
PDDocument document = null; try { document = PDDocument.load( infile ); if( document.isEncrypted() ) { DecryptionMaterial decryptionMaterial = null; decryptionMaterial = new StandardDecryptionMaterial(password); document.openProtection(decryptionMaterial); AccessPermission ap = document.getCurrentAccessPermission(); if(ap.isOwnerPermission()) { document.setAllSecurityToBeRemoved(true); document.save( outfile ); } else { throw new IOException( "Error: You are only allowed to decrypt a document with the owner password." ); } } else { System.err.println( "Error: Document is not encrypted." ); } } finally { if( document != null ) { document.close(); } }
Est-il possible sans mot de passe?
@Akashchavda Je suppose que vous êtes obligé de passer le mot de passe PDF crypté, sinon la fonctionnalité de cryptage du PDF serait un non-sens;) Le code ci-dessus utilise simplement des outils standard pour déchiffrer le PDF.
Comment envisagez-vous de les montrer à des utilisateurs «anormaux»? Ils devraient apporter leurs clés privées (éventuellement des cartes à puce) avec eux?