Program pro kryptování souborů v C++
Napsal: pon 19. lis 2007, 08:08
Dostala jsem úkol v C++, se kterým si nevím rady. Kdyby tady byl někdo, kdo tento programovací jazyk ovládá, tak bych byla moc vděčná. Já to totiž nemůžu dát dokupy ani za nic... Díky
Zadání:
Vytvořte program pro krytování libovolných souborů s volitelným využitím algoritmů, dále označených jako Leonard a Crypt.
Popis algoritmů:
• Leonard – jednotlivá velká a malá písmena anglické abecedy nahraďte písmenem v řadě písmen opačným, např. a -> z, b -> y, c -> x, … y -> b, z -> a . Přitom velká písmena nahrazujete velkými a malá malými.
Bajty (znaky) souboru, neobsahující písmena anglické abecedy, nechejte beze změny.
• Crypt – zde v každém bajtu prohoďte horní 4 bity se spodními a výslednou hodnotu bajtu bitově invertujte (bitový doplněk).
Příklad:
původní binární hodnota bajtu 0100 0001 … 0x41 … 'A' znakově
hodnota bajtu po zakryptování 1110 1011 … 0xEB … nemá znakové vyjádření.
Oba algoritmy jsou "symetrické", tzn., že je lze využít stejným způsobem jak pro kryptování, tak i pro dekryptování.
Jména vstupního a výstupního souboru a zvolený algoritmus zadávejte jako parametry funkce main(), kryptování jednotlivých bajtů řešte jako funkce.
Zadání:
Vytvořte program pro krytování libovolných souborů s volitelným využitím algoritmů, dále označených jako Leonard a Crypt.
Popis algoritmů:
• Leonard – jednotlivá velká a malá písmena anglické abecedy nahraďte písmenem v řadě písmen opačným, např. a -> z, b -> y, c -> x, … y -> b, z -> a . Přitom velká písmena nahrazujete velkými a malá malými.
Bajty (znaky) souboru, neobsahující písmena anglické abecedy, nechejte beze změny.
• Crypt – zde v každém bajtu prohoďte horní 4 bity se spodními a výslednou hodnotu bajtu bitově invertujte (bitový doplněk).
Příklad:
původní binární hodnota bajtu 0100 0001 … 0x41 … 'A' znakově
hodnota bajtu po zakryptování 1110 1011 … 0xEB … nemá znakové vyjádření.
Oba algoritmy jsou "symetrické", tzn., že je lze využít stejným způsobem jak pro kryptování, tak i pro dekryptování.
Jména vstupního a výstupního souboru a zvolený algoritmus zadávejte jako parametry funkce main(), kryptování jednotlivých bajtů řešte jako funkce.