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?