Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich versuche gerade ein kleines programm zu schreiben in dem ich einen string und später eine datei verschlüsseln kann, und noch später würd ich gern den sha hash mit einbauen wollen, jedoch weiß ich nicht wie ich anfangen bzw welche komponente ich dafür am betsen benutzen könnte. ich habs mit crptopp versucht aber jedoch steige ich da einfach nicht durch die befehle durch :( könntet Ihr mir evtl weiterhelfen ?? danke schon einmal

  • 2 Wochen später...
Geschrieben
Die Hilfedatei, die du hier finden kannst, bietet einen guten Einstieg in Crypto++.

hallo danke für deinen link aber irgendwie will einfach der groschen nicht fallen und möchte dich daher nocheinmal um hilfe bitten ich hab ein ziemlich kurzes beispiel gefunden mit folgendem Code:


// aestest1.cpp
#include "StdAfx.h"

// Runtime Includes
#include <iostream>
#include <iomanip>

// Crypto++ Includes
#include "cryptlib.h"
#include "aes.h" // AES
#include "modes.h" // CBC_Mode< >
#include "filters.h" // StringSource

int main(int argc, char* argv[]) {

// Key and IV setup
byte key[ CryptoPP::AES::DEFAULT_KEYLENGTH ],
iv[ CryptoPP::AES::BLOCKSIZE ];

::memset( key, 0x01, CryptoPP::AES::DEFAULT_KEYLENGTH );
::memset( iv, 0x01, CryptoPP::AES::BLOCKSIZE );

// Message M
std::string PlainText = "Hello AES World";

// Debug
std::cout << "Plain Text:" << std::endl;
std::cout << " '" << PlainText << "'" << std::endl;
std::cout << std::endl;
std::cout << "key: ";
std::cout << key <<std::endl;

// Cipher Text Sink
std::string CipherText;

// Encryption
CryptoPP::CBC_Mode<CryptoPP::AES>::Encryption
Encryptor( key, sizeof(key), iv );

CryptoPP::StringSource( PlainText, true,
new CryptoPP::StreamTransformationFilter( Encryptor,
new CryptoPP::StringSink( CipherText )
) // StreamTransformationFilter
); // StringSource

// Debug
std::cout << "Cipher Text (" << CipherText.size() <<") bytes:" << std::endl;
for(unsigned int i = 0; i < CipherText.size(); i++ )
{
if( 0 != i && 10 == i ) { std::cout << std::endl; }
std::cout << std::hex << "0x";
std::cout << ( static_cast<unsigned>( 0xFF & CipherText[ i ] ) ) << " ";
}
std::cout << std::endl << std::endl;

///////////////////////////////////////
// DMZ //
///////////////////////////////////////

// Recovered Text Sink
std::string RecoveredText;

// Decryption
CryptoPP::CBC_Mode<CryptoPP::AES>::Decryption
Decryptor( key, sizeof(key), iv );

CryptoPP::StringSource( CipherText, true,
new CryptoPP::StreamTransformationFilter( Decryptor,
new CryptoPP::StringSink( RecoveredText )
) // StreamTransformationFilter
); // StringSink

// Debug
std::cout << "Recovered Text:" << std::endl;
std::cout << " '" << RecoveredText << "'" << std::endl;
std::cout << std::endl;

return 0;
}
[/PHP]

nun das ausführen klappt wunderbar nun frage ich mich allerdings wo zum geier wird da der Wert zum verschlüsseln festgelegt (quasi das PW).

wie gesagt irgendwie klemmt es da bei mir mit crypto++ im vorraus schon einmal vielen dank

Geschrieben



// Key and IV setup
byte key[ CryptoPP::AES::DEFAULT_KEYLENGTH ],
iv[ CryptoPP::AES::BLOCKSIZE ];

::memset( key, 0x01, CryptoPP::AES::DEFAULT_KEYLENGTH );
::memset( iv, 0x01, CryptoPP::AES::BLOCKSIZE );


[/PHP]

ok das bedeutet also das mit byte der kye und iv nach vorgabe von crypto++ initialisiert wird und memset weißt dann das byte "0x01" der gesamten länge zu. aber muß denn das unbedingt ein byte sein oder kann ich auch einen string hinzufügen ?? und wenn ja könntest du mir kurz weiterhelfen wie das dann aussehen müßte ?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...