Donnez vie à vos documents numériques !
 

Répondre à : Encryption de chaine unicode

abracadabraPDF Forums PDF – Général Encryption de chaine unicode Répondre à : Encryption de chaine unicode

#48049
wizouille
Invité

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 ](*,)