Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Kodowanie plików


HardChaos

Pytanie

Opublikowano

Siemanko, opiszę co i jak.

 

Przypóścmi że mam Plik który chciałbym zakodować używając danego klucza, następnie go odkodować, oczywiście nie jest to plik tektowy.

 

Istnieje coś takiego?

Jeśli tak to podeśle ktoś jakiś okrojony przykład Enkodu i Dekodu?

 

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

Proponuje użyć crypto++ bardzo łatwa w obsłudze biblioteka.


Tutaj przykład szyfrowania, deszyfrowania za pomocą algorytmu AES
 

AutoSeededRandomPool rnd;

// Wygeneruj losowy klucz
SecByteBlock key(0x00, AES::DEFAULT_KEYLENGTH);
rnd.GenerateBlock( key, key.size() );

// Wygeneruj losowy IV
SecByteBlock iv(AES::BLOCKSIZE);
rnd.GenerateBlock(iv, iv.size());

byte plainText[] = "wiadomosc do zaszyfrowania";
size_tmessageLen = std::strlen((char*)plainText) + 1;

//////////////////////////////////////////////////////////////////////////
// Szyfrowanie

CFB_Mode<AES>::Encryption cfbEncryption(key, key.size(), iv);
cfbEncryption.ProcessData(plainText, plainText, messageLen);

//////////////////////////////////////////////////////////////////////////
// Deszyfrowanie

CFB_Mode<AES>::Decryption cfbDecryption(key, key.size(), iv);
cfbDecryption.ProcessData(plainText, plainText, messageLen);

 

Opublikowano

https://www.example-code.com/cpp/crypt_aes_encrypt_file.asp

Szyfrowanie plików* a nie kodowanie;p 

Jeśli nie chcesz pisać do tego programu, możesz zaszyfrować plik np tak:
 

openssl des3 -salt -in file.txt -out file.des3

Trzeba pamiętać o tym aby mieć zainstalowanego openssl'a na komputerze.

A jeśli już tak bardzo chcesz napisać program szyfrujący pliki, to podeśle ci materiały, z których możesz skorzystać.
https://stackoverflow.com/questions/1007337/encrypting-and-decrypting-a-small-file-using-openssl

https://codescracker.com/cpp/program/cpp-program-encrypt-file.htm
https://cplusplus.happycodings.com/file-manipulation/code4.html

 

Nie jest to zbytnio skomplikowane, ale musisz pomyśleć jak potrzebujesz. Szyfrowanie asymetryczne kluczem publiczn ( RSA ). Jeden z najpopularniejszych. Do tego potrzebujesz dwa klucze, prywatny i publiczny, Klucz publiczny służy tylko do szyfrowania, klucz prywatny do szyfrowania i deszyfrowania ( Jeśli nie masz klucza prywatnego nie odszyfrujesz wiadomości ).

Jeśłi RSA tobie nie odpowiada to śmiało użyj AES.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...