(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
677
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
Ruotsalaisuuden Päivän virallinen liputuspäivä poistettava VÄLITTÖMÄSTI!
Suomen valtion ja suomalaisuuden kannalta ei ole minkäänlaisia perusteita liputtaa virallisesti ruotsalaisuuden päivää,1055731Mikaela Nylander: Jos pakkoruotsi poistetaan, niin ruotsin kielen asema romahtaa
(Nylander on vanha RKP:nen) Mutta niin heikossa vedossa muumiruotsi siis on Suomessa, että vain tekohengityksellä se pys652572Nainen aion pilata elämäsi täysin, opetus sulle, että pelasit väärän ihmisen sydämellä.
Empatiani sua kohtaan katosi siinä kohtaan, kun teit tietoisen valinnan leikkiä mun sydämellä. Luulet olevas joku älykäs2411585- 941380
- 1241097
6 vkoa kulunut ilman sua
…ihme että olen vielä hengissä. 😔 Kyynelillä pessyt lattioita. Rakastan ja odotan sua ikuisesti❤️Projekti jäi kesken jo8901- 65882
- 66857
- 75798
Salailu jatkuu, poliisi tutkii
Nykyään Pienimäki toimii Ylitornion kaupunginjohtajana. HS tavoitti hänet puhelimitse. Pienimäki korosti, ettei ole enää17741