bonjour,
je suis à la recherche de deux fonctions permettant de transformer une chaine en chaine hexadecimale et une fonction faisant l'inverse
Mon problème étant le suivant:
J'utilise une fonction xorcrypt qui permet de crypter une chaine de caractère.
cette fonction fonctionne très bien.
Cependant le programme utilisant cette fonction est un programme cgi. donc je souhaiterai passé la chaine de caractère crypté dans un POST. Pour celà, je souhaiterai transformé la chaine crypté en chaine crypté hexadecimal pour ne pas avoir de caractère spécial (stx,...) dans la chaine.
Puis je souhaiterai récupérer la chaine hexadecimale cryptée, la convertir en binaire et puis la décrypter.
pour crypter j'utilise la fonction suivante qui fonctionne très bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 char *xorcrypt(char *cipher, const char *plain, size_t len, const char *key, size_t keylen) { size_t i, j = 0; for ( i = 0; i < len; ++i ) { cipher[i] = plain[i] ^ key[j]; if ( ++j > keylen ) { j = 0; } } return cipher; } int main() { const char plain[] = "Bonjour ceci est un exemple"; char cipher[sizeof plain]; . char decode[sizeof plain] = {0}; const char key[] = "test"; xorcrypt(cipher, plain, sizeof plain - 1, key, sizeof key - 1); xorcrypt(decode, cipher, sizeof cipher - 1, key, sizeof key - 1); }
Partager