23. november 2002 - 01:51Der er
12 kommentarer og 1 løsning
Hjælp til lidt kryptering.
100 point til den der skriver en metode der krypterer en string vha. følgende AES implementation. Den tager UINT8 som inputparameter til krypteringsmetoden og jeg har ingen anelse om hvordan jeg får en string krejlet om til det.
rin.init(Rijndael::CBC,Rijndael::Encrypt, key, Rijndael::Key32Bytes); // It is a good idea to check the error code int len = rin.padEncrypt(plainText, plainTextLen, output); if(len >= 0) cout << output << endl; else cout << "error" << endl;
// Decrypting: we can reuse the same object unsigned char* output2 = new unsigned char[plainTextLen+1]; output2[plainTextLen] = 0; rin.init(Rijndael::CBC,Rijndael::Decrypt, key, Rijndael::Key32Bytes); len = rin.padDecrypt(output,len,output2); if(len >= 0) cout << output2 << endl; else cout << "error" << endl;
voht >> Glemt lige ovenstående svar et øjeblik, det virker ikke ! Det er noget med at AES encrypt/decrypt kræver strenge der er helt multiplum af 16 bytes (1 paragraf), men hvordan skal jeg lige have fundet ud af.
Begge besvarelser virker perfekt, så in all fairness vælger jeg jpks svar. Jeg tvivler på at soepros svar har siddet fast i en router i en hel time, så vi kan vidst godt afskrive protokolfejl som værende skyld i det senere svar :)
viht >> Fint nok - men hvis jeg tager mit eks. og compilerer under BCB 4.0 så får jeg ikke en tøddel ud ?
Jeg har bare lavet de to funktioner du bad om - der var ingen svar da jeg gik igang. (jpk's eksempel er magen til det der står i header filen, så det troede jeg du havde prøvet !)
Well, ikke helt det samme. Jeg kunne ikke finde ud af at få lavet noget tekst om til den lidt specielle inputparameter til decrypt/encrypt metoderne. Det var det var hans kode der fik mig videre på det punkt.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.