String nach char casten

WorldRacer

Erfahrenes Mitglied
Hi,

habe folgendes Problem:

Ich versuche mich gerade an Verschlüsselung & Co. Ich habe nun Folgenden Code:

Code:
System::Security::Cryptography::SymmetricAlgorithm^ mCSP = gcnew Security::Cryptography::TripleDESCryptoServiceProvider();
cli::array<unsigned char,1>^ data;
data = System::Text::Encoding::UTF8->GetBytes(textBox1->Text);			 
mCSP->Key = data; 			 
data = System::Text::Encoding::UTF8->GetBytes(textBox2->Text);			 
mCSP->IV = data;

Beim Ersten mal klappt es. Beim zweiten mal bekomme ich eine Meldung, mit einer System.Security.Cryptography.CryptographicException:

Eine nicht behandelte Ausnahme des Typs "System.Security.Cryptography.CryptographicException" ist in mscorlib.dll aufgetreten.

Zusätzliche Informationen: Der angegebene Schlüssel hat eine ungültige Größe für diesen Algorithmus.

Was mache ich Falsch beim Casten von System::String^ nach cli::array<unsigned char, 1>^ ?
 
Habe nun rausgefunden:

Der Key ist 32 Zeichen lang und es dürften nur 24 sein. TripleDES unterstützt nur 128 und 192 Bit Arrays.

Wenn ich den Key generieren Lasse und benutze diesen, funktioniert es. Nur nicht über den Umweg mit der Textbox.
 
Zurück