(Pahoittelen Suomi24:ää, että se jättää osan pois, mutta voinette arvata puutteet.)
Tämä harjoitustyö tekee oikeasti jotain. Se kryptaa ja dekryptaa,mutta matkalla teksti muuttuu oudosti. Esim. osa kirjaimista tuplaantuu. Mistä on kyse ja miten sen voi korjata?
Avaimeksi hyvin sopivan kohinakuvan voi tehdä "kuvaamalla" peitetyllä linssillä 10-30 sekunnin valotusajalla suurimmalla iso-arvolla ja pakkaus löysimmällä. Mikä tahansa kuva käy, mutta sitten on viisaampaa kasvattaa muuttujaa "hyppy".
********************************************* kryptaus.cpp
#include //tässä pitäisi olla iostream, string ja fstream
#include
#include
int alku=12345; //alussa on epäsatunnaisuutta, joka ohitetaan
int hyppy=7; //peräkkäisillä tavuilla voi olla riippuvuutta
int av;
int vi;
int y;
int kr;
char ca;
char cv;
int main ()
{
using namespace std;
fstream avain;
fstream viesti;
avain.open("kohinakuva.jpg", ios::in |ios::binary);
viesti.open("viesti.txt",ios::in |ios::out |ios::binary);
for(y=0;y> ca;
viesti.seekg(y);
viesti >> cv;
av=ca;
vi=cv;
kr=av vi;
if(kr>255) {kr=kr-256; }
viesti.seekp(y);
cv=kr;
viesti ca;
viesti.seekg(y);
viesti >> cv;
av=ca;
vi=cv;
kr=vi-av;
if(kr
(de?)Kryptaus... melkein (char-pulma)
4
697
Vastaukset
- -anon-
Nojoo, yleensä nois muunnosfunkkareis on ihan hyvä testi vuoksi tehdä käänteisfuntio samalla ja vaikka assertoida asioita. Perusongelma kyllä näin kääntämättä näyttää olevan se että hävität informaatiota tuolla 256 hässäkällä. Koska kerran luet ja kirjoitat 8 bittiä ja laskutoimituksesi ovat väh 32 bittisiä niin siinä aina joskus infoo jää käyttämättä. Muuta käyttämään loogisia bittioperaatioita kuten xor etc... Tai kirjoita salauksesti samantien 4 kertaa isommaksi kuin alkuperäinen kirjoittamalla laskutoimituksen tulos inttinä levylle ja lukemalla se inttinä levyltä.
Vielä sellainen tiedostojen käsittelyyn littyvä asia että kannattaa kirjoittaa salattu viesti eri tiedostoon, asiat sujuu helpommin.- juuso*
??
- taikuri-hb
juuso* kirjoitti:
??
tms..
- harrastaja591
vika löytyi. pitää olla:
virtaolio >> noskipws >> muuttuja;
noskipws muuttaa extraction- tai voisiko sanoa (?) syöteoperaattorin toimintaa niin ettei tyhjiä (tai "tyhjiä") skipata.
no-skip white spaces
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Riikka vie Suomen kohta ykköseksi työttömyyskisassa
Espanja: 10,5 % Suomi: 10,3 % Ruotsi: 9,3 % Kisa on tiukkaa, mutta Riikalla hyvä draivi päällä. Vasemmistolaisen päämin1392793Miten juhlitte ensi lauantaina?
Se on kalenteriin merkitty juhlapäiväksi, niin sitä kai kuuluu juhlia.2702433Kumpaan rahat, mummojen vaippoihin vai Nalle WahIroosille?
JOS siis sinä saisit päättää?261466- 1211162
- 1051120
Uudestisyntyminen ei tapahdu kasteessa
Tässä Apostolien tekojen kohdassa näemme, että Filippus julisti hoviherralle ensin evankeliumia ja kuulusteli sitten tar2041033Ryöstö Punkaharjulla
Punkaharjun k-market ryöstetty tänään keskellä päivää, ketä lie asialla? Poliiseja ainakin pörrää ympäriisee13992Lasse Lehtonen on yhtä aikaa sairauslomalla ja työmatkalla
Kelan johtaja näyttää vötkyilyn mallia, otti sairaslomaa ja lähti Brysseliin sitten ryyppäämään! 😂 Kelan pääjohtaja La58886Evoluutioon ja alkuräjähdykseen uskominen vaatii todella vahvaa uskoa
Että tyhjästä syntyi ja kehittyi kaikki se mitä näemme ympärillämme.297867Mistä juttelit viimeisen kerran
Mistä juttelitte viimeisen kerran ikävöinnin kohteen kanssa? Irl tai viesteillä.62864