Ok so i got this figured out with this: stringstream ss;
for (int i = 0; i < ciphertext.size(); ++i) { ss << hex << (0xFF & static_cast<byte>(ciphertext[i])) << " "; } string mystr = ss.str(); cout << "mystr: " << mystr << endl; and it works fine, all characters are printed in hex and i can write them in a txt file, no problem. BUT when i read them from the txt file, i dont know how to convert them back from hex, so i can do the decryption. On Tuesday, November 29, 2022 at 8:23:19 PM UTC+2 Nikos Karavidas wrote: > I 've got the following function: > void encrypt(string ivInString, string keyInString, const string > &filename_in, const string &filename_out) > { > SecByteBlock iv(reinterpret_cast<const byte*>(&ivInString[0]), > ivInString.size()); > SecByteBlock key(reinterpret_cast<const byte*>(&keyInString[0]), > keyInString.size()); > > > CFB_Mode<AES>::Encryption e; > e.SetKeyWithIV(key.data(), key.size(), iv.data()); > > ifstream in{ filename_in, ios::binary }; > ofstream out{ filename_out, ios::binary }; > > FileSource f{ in, /*pumpAll=*/true, new StreamTransformationFilter{ e, > new FileSink{out} } }; > } > > and a similar for decrypting, and they work fine, but this is to encrypt > any sort of file, which is my only way of encrypting the txt, but its not > what i need. What i need is to encrypt a string. The 1st answer in this > link: > https://stackoverflow.com/questions/12306956/example-of-aes-using-crypto > , prints all the ciphered text in hex in the line that says "cout << "0x" > << hex << (0xFF & static_cast<byte>(ciphertext[i])) << " ";". But im not > sure how that hex part even works. Do you know how i can write that into a > txt file? > > > > On Tuesday, November 29, 2022 at 7:43:08 PM UTC+2 schmid...@gmail.com > wrote: > >> Could you try to write a minimal working example in a separate project >> and share the code if you still have any issues? Try to write that >> encryption/decryption routines yourself line by line instead of copy&paste >> any examples. >> >> The idea is simple: you read data source, you put data through the filter >> (which does the encryption or decryption) and put the result to the sink. >> So you should setup a source: read file in buffer and use StringSource or >> VectorSource or use FileSource. Then you should prepare an encryption >> filter (StreamTransformationFilter) with appropriate options (you could >> learn it from example code). Then you put the data into the Sink. >> https://www.cryptopp.com/wiki/FileSource >> >> Remember to use same key & iv for decryption. Also binary/text mode is >> important when reading files. Also remember to use same mode (CBC, ECB, >> etc.) for both encryption/decryption algorithm. Use authenticated >> encryption to catch message checksum errors. >> >> Try to experiment with pipelining, e.g. calculating messag digest and >> printing it in hex. When you get the strong feeling what works and what >> isn't you could easily use any encryption/decryption algorithm in Cryptopp. >> Just take some time to read wiki and experiment with library primitives. >> And good luck with that! >> https://www.cryptopp.com/wiki/Pipelining >> >> вторник, 29 ноября 2022 г. в 23:01:33 UTC+7, boomer1...@gmail.com: >> >>> Not sure what you mean by format, i just use something like >>> "myFileStream << cipher", and then read it back again. Do you mean that the >>> txt file should be utf-8 or something like that? What would be the right >>> way to write the ciphered string to the txt file and read it afterwards? >>> Thanks a lot for answering btw. >>> >>> On Tuesday, November 29, 2022 at 4:15:37 PM UTC+2 creyesc...@gmail.com >>> wrote: >>> >>>> I think I have an idea of what is happening to you, what happens that >>>> you must decrypt in the same format that you encrypted, since that >>>> happened >>>> to me at some point, you must also see the format in how you return the >>>> txt >>>> file, or the text of txt if it is the same format that is needed to >>>> decrypt >>>> it. Greetings. >>>> >>>> El lunes, 28 de noviembre de 2022 a las 14:30:04 UTC-5, >>>> boomer1...@gmail.com escribió: >>>> >>>>> Ok so based on the example from this link ( >>>>> https://www.cryptopp.com/wiki/Advanced_Encryption_Standard), i >>>>> have tried encrypting a "plain" string into a "cipher" string and writing >>>>> that "cipher" string to a .txt file in one program, and in another >>>>> program >>>>> afterwards reading that same .txt file into a string and decrypting it. >>>>> But >>>>> when i cout that "recovered" string, it is just random characters and >>>>> not >>>>> my original "plain" string. I think the problem starts when i attempt to >>>>> get the "cipher" string in the .txt file, but not sure. Any help is >>>>> greatly >>>>> appreciated. Thanks in advance. >>>> >>>> -- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/cryptopp-users/216a9025-24a7-4b8f-8573-7e5526c01456n%40googlegroups.com.