En fait je protège un PDF avec un owner et un user password.
(Tout se fait en c++ avec wincrypt)
J’ai donc créé un objet encrypt avec les informations utiles :
exemple :
Code:
7 0 obj
<<
/P -1836
/Filter/Standard
/R 3
/Length 128
/V 2
/O (U©!nR’Rø¨/d(¤ªšÖpò’)
/U (Rž :>äR¼ë¯2Qí( )
>>
endobj
et puis j’ai crypté tous les streams (text/image) avec une méthode que j’ai créée (décrite dans l’algo 3.1 pg 94 du pdf ref 1.5) qui prend un unsigned char* en entrée et rend la chaîne cryptée.
Jusque là, tout fonctionne !
A la fin de la création du pdf, si je l’ouvre il me demande un password et le contenu de la page s’affiche correctement.
Maintenant il me reste à crypter les titres du bookmark et les informations du pdf (title, author…) de la même manière que j’ai crypté le texte et les images.
Si je prends la chaîne de caractères “titre” et que je la passe à la fonction de cryptage et qu’ensuite j’écris le résultat dans le PDF c’est nickel !
/Title(title)
devient
/Title(¡‘NÍ£ˆÙæ{£–»Òß)
Mon problème, c’est quand j’ai en entrée une chaîne d’unsigned short et que je dois le crypté.
Sans le cryptage, j’écris cet unsigned short (codes unicode) en hexadécimal entre “<>“.
/Title
Mais alors que passer à ma fonction de cryptage qui prend un unsigned char en entrée ???
J’ai tout essayé
Si je lui passe la chaîne de caractère “FEFF007400690074006C0065” ça ne fonctionne pas (et ça n’a aucun sens).
Si je transforme mon unsigned short en unsigned char ça fonctionne mais je perds toute l’information dès que la valeur unicode dépasse l’ASCII… (1641 rentre pas dans un unsigned char!)
Voilà je ne suis pas certaine d’être vraiment claire.
en tous cas si vous pouvez m’aider ce serait nickel :salu:
Sinon ben je continue de chercher ](*,)