Was ist der Unterschied zwischen Vorlagenmodusobjekt und externem Verschlüsselungsobjekt?

ie im Titel, suche ich dasUnterschie in der cryptopp Bibliothek zwischendiese Erklärung:

CBC_Mode<AES>::Decryption 
cbcDecryption.SetKeyWithIV(key, AES::DEFAULT_KEYLENGTH, iv);

unddieses

AES::Decryption aesDecryption(key, AES::DEFAULT_KEYLENGTH);
CBC_Mode_ExternalCipher::Decryption cbcDecryption( aesDecryption, iv );

Darüber hinaus kann ich nicht verstehen, warum mit diesem:

AES::Decryption aesDecryption(key, AES::DEFAULT_KEYLENGTH);
CBC_Mode_ExternalCipher::Decryption cbcDecryption( aesDecryption, iv );

StreamTransformationFilter stfDecryptor(
    cbcDecryption,
    new StringSink( recoveredtext )
);

stfDecryptor.Put( reinterpret_cast<const unsigned char*>( ciphertext.c_str() ), ciphertext.size() );
stfDecryptor.MessageEnd();

all funktioniert gut Während der Verwendung des Vorlagenmodus tritt dieser Fehler bei @ aulaufzeit:

AES128CBC: /usr/local/include/cryptopp/misc.h:304: void CryptoPP::memcpy_s(void*, size_t, const void*, size_t): Assertion `dest != __null' failed.
Aborted (core dumped)

Sollte nicht gleich sein?

Ich habe @ angeschaDie aber ich habe den Unterschied nicht gut verstanden und bei der Suche im Internet konnte ich keine Antwort auf mein Problem finden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage