Bonjour à tous,
Je suis en train de faire qq essais de cryptage/décryptage de chaînes de caractères avec différents composants.
J'ai des chaînes de caractères qui ont déjà été crypté avec LockBox (V2) de la manière suivante :
La valeur de "CryptKey" m'est bien sûr connue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function TForm1.CrypteLockBox(Code,CryptKey : AnsiString):AnsiString; Begin Result:=''; LbRijndael1.CipherMode:=cmCBC; LbRijndael1.KeySize:=ks256; LbRijndael1.GenerateKey(CryptKey); Result:=LbRijndael1.EncryptString(Code); End;
Je cherche maintenant à décrypter avec le composant "ChillKat" ce texte,
J'ai actuellement tenté la méthode suivante :
Mais le texte retourné ne correspond à rien.
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 Function TForm1.DecrypteChilKat(Bdd,CryptKey : AnsiString) : AnsiString; var crypt: HCkCrypt2; Function StrToPWideChar(Str_ : AnsiString) : PWideChar; Var Len : Integer; Begin Len := 2 * (Length(Str_) + 1); Result := AllocMem(Len); StringToWideChar(Str_, Result, Len); End; Begin Result:=''; crypt:=CkCrypt2_Create(); CkCrypt2_UnlockComponent(crypt,''); CkCrypt2_putCryptAlgorithm(crypt,'aes'); CkCrypt2_putCipherMode(crypt,'cbc'); CkCrypt2_putKeyLength(crypt,256); CkCrypt2_putPaddingScheme(crypt,0); CkCrypt2_putEncodingMode(crypt,'Base32'); CkCrypt2_SetSecretKeyViaPassword(crypt,StrToPWideChar(CryptKey)); Result:=WideCharToString(CkCrypt2__decryptStringENC(crypt,StrToPWideChar(Bdd))); CkCrypt2_Dispose(crypt); End;
Mon problème à mon avis est que je ne connais ni le PaddingScheme, ni le EncodingMode, ni le vecteur d'initialisation utilisé pour le cryptage sous LockBox. COmment puis-je initialiser mon composant Chillkat pour le faire correspondre au composant LockBox?
Je ne suis pas du tout une spécialiste en cryptographie. J'arrive à crypter/décrypter via Lockbox, Crypter/décrypter via Chillkat mais pas à croiser les infos entre les 2 méthodes.
Si quelqu'un pouvait éclairer ma lanterne
Merci d'avance
Nono
Partager