Dragerafbeelding of audiobestand kiezen
Selecteer, sleep of plak de afbeelding, WAV of MP3 die de gegevens zal dragen. Grotere bestanden bieden meer ruimte; drukke foto's of muziek verbergen wijzigingen het beste.
Een browserport van steghide 0.5.1 met beide methoden: pixel/LSB voor BMP en PNG en DCT-coëfficiënten voor JPEG, plus PCM WAV- en MP3-audiodragers. Verberg een bestand of bericht en haal het weer terug met de wachtwoordzin.
Je bestand en geheim verlaten dit apparaat nooit. Decoderen, inbedden, versleutelen en extraheren gebeuren in dit browsertabblad. Niets wordt naar een server geüpload, dus daar kan niets uitlekken.
Grotere dragers bieden meer ruimte: afbeeldingen ongeveer één byte per acht pixels, PCM WAV één byte per zestien samples en MP3 de ongebruikte ruimte in de audioframes.
steghide opdrachtregeltool — de PNG-uitvoer behoudt dezelfde ruwe pixels, maar de steghide-CLI kan geen PNG lezen.
Spreek samen met mij de spreuk uit om het geheim in deze afbeelding te onthullen: teken met je aanwijzer drie volledige cirkels rond de afbeelding, met de klok mee of tegen de klok in — en de verborgen gegevens verschijnen.
Je spoor licht op terwijl je tekent; elke gesloten cirkel laat een maan oplichten. Laat de aanwijzer los of verlaat de afbeelding en de spreuk vervaagt. Geen aanwijzer? Geef de afbeelding focus en druk op Enter.
Hier verschijnen de herstelde bestandsnaam, grootte en checksumstatus. Tekst wordt als tekst getoond, afbeeldingen als afbeeldingen en audio krijgt een speler. Andere bestanden kun je alleen downloaden.
Geen installatie of upload: kies een afbeelding, WAV of MP3, voeg je geheim toe en sla het resultaat op.
Selecteer, sleep of plak de afbeelding, WAV of MP3 die de gegevens zal dragen. Grotere bestanden bieden meer ruimte; drukke foto's of muziek verbergen wijzigingen het beste.
Voeg een bestand toe of typ een bericht en kies een wachtwoordzin. Deze bepaalt waar de gegevens worden verspreid en kan ze ook versleutelen.
Sla op als BMP voor steghide-compatibiliteit of als PNG voor een kleiner bestand. Iedereen met de afbeelding en wachtwoordzin kan de gegevens onthullen.
ImageSteg is een TypeScript-port van steghide 0.5.1 met beide takken: pixel/LSB voor BMP en PNG en DCT voor JPEG. Daarnaast draagt het op dezelfde manier gegevens in PCM WAV en in de ongebruikte staart van MP3-frames. Geen van deze methoden doorloopt simpelweg het bestand op volgorde.
Samples worden in knopen gegroepeerd. Een matching met minimaal gewicht bepaalt wat verandert, zodat ongeveer één sample per verborgen waarde wordt aangepast.
Een ingebouwde JPEG-entropiecodec leest de gekwantiseerde DCT-coëfficiënten, verbergt gegevens in hun pariteit en codeert ze opnieuw, precies waar steghides libjpeg stopt. Zowel baseline- als progressive-bestanden werken.
Een permutatie met MD5 als seed verspreidt de gegevens over de hele afbeelding, zodat ze niet in een voorspelbare volgorde staan.
zlib verkleint de payload vóór inbedding en een optionele CRC32-checksum laat direct zien of de extractie betrouwbaar is.
Rijndael in CBC-modus met dezelfde sleutelafleiding als libmcrypt houdt de payload vertrouwelijk, zelfs als iemand de afbeelding verdacht vindt.
Praktische grenzen van gegevens verbergen in afbeeldingspixels.
Compatibiliteit: de bitindeling, samplepermutatie en Rijndael/CBC-versleuteling volgen steghide 0.5.1. BMP- en JPEG-uitvoer kan dus worden gelezen met steghide extract -sf image.bmp -p passphrase of -sf image.jpg, en bestanden van de steghide-opdrachtregeltool kunnen hier worden gelezen. Het uitvoerformaat volgt altijd de drager: JPEG levert JPEG, omdat de payload in coëfficiënten zit die alleen JPEG kan dragen. Voor pixeldragers is naast BMP ook PNG beschikbaar; de steghide-CLI leest geen PNG.
Steghides JPEG-ondersteuning roept deze libjpeg-functie aan: jpeg_read_coefficients(), die het decoderen direct na Huffman-decoding stopt, vóór dekwantisatie en IDCT. Over blijven de ruwe gekwantiseerde DCT-coëfficiënten. Browsers bieden daar geen API voor, dus deze pagina heeft een eigen JPEG-entropiecodec in plaats van de ingebouwde decoder te gebruiken. Deze ondersteunt baseline en progressive, inclusief verfijningsscans met opeenvolgende benadering.
jpeg_write_coefficients() dat doet. Een rekenkundig gecodeerde bron krijgt daardoor bij uitvoer het label baseline of progressive.De inbedder ziet geen bestandsformaat, alleen de gedecodeerde pixelarray. Steghides BMP/LSB-methode werkt daarom ongewijzigd op PNG. Vier details zijn in de praktijk belangrijk:
Ja. Verbergen en onthullen is gratis, zonder registratie, watermerk of kunstmatige bestandsgroottelimiet.
Nee. Decoderen, inbedden, comprimeren en versleutelen gebeurt lokaal in je browser met JavaScript en WebCrypto. Niets wordt naar de 73hi-server gestuurd.
Elke afbeelding die je browser kan decoderen kan een pixeldrager zijn. Baseline- en progressive-JPEG gebruiken steghides DCT-tak. Het uitvoerformaat volgt de drager: JPEG in, JPEG uit; een pixeldrager geeft BMP plus een PNG-kopie. De steghide-opdrachtregeltool leest BMP en JPEG, maar geen PNG.
In de gekwantiseerde DCT-coëfficiënten, precies zoals de steghide-opdrachtregeltool. De pagina bevat een JPEG-entropiecodec die tot de coëfficiënten decodeert, hun pariteit wijzigt en opnieuw codeert.
Ja. Progressive-bestanden worden via hun volledige scanreeks gedecodeerd — spectrale selectie en verfijning met opeenvolgende benadering — en op dezelfde manier teruggeschreven. Het resultaat blijft een progressive-JPEG met de oorspronkelijke coëfficiënten.
Lezen wordt ondersteund. Bestanden met QM-codering in plaats van Huffman — SOF9 voor sequentieel, SOF10 voor progressive — gebruiken dezelfde rekenkundige decoder als libjpeg, zodat de coëfficiënten identiek zijn. Het resultaat wordt met Huffman geschreven, net als bij steghide.
Ongeveer één byte payload per acht pixels, minus ruimte voor de header, bestandsnaam en eventuele versleutelingsopslag. De tool toont de bruikbare capaciteit zodra je een afbeelding kiest.
Ja, als je BMP downloadt. De bitindeling, samplepermutatie op basis van de wachtwoordzin en Rijndael/CBC-versleuteling volgen steghide 0.5.1.
De payload zit in afzonderlijke pixelwaarden. Opnieuw comprimeren, schalen, filteren of naar een verliesformaat zoals JPEG omzetten vernietigt hem. Bewaar de oorspronkelijke BMP of een verliesvrije PNG-kopie.
Niet door tweemaal in één bestand in te bedden. De tweede ronde kiest eigen willekeurige posities over de hele drager en overschrijft een deel van de eerste payload. Omdat gegevens vóór versleuteling worden gecomprimeerd, maken enkele veranderde bits het hele bericht onleesbaar: je verliest het volledig, niet gedeeltelijk. De oorspronkelijke steghide-opdrachtregeltool werkt hetzelfde. Dezelfde wachtwoordzin hergebruiken helpt niet: dan worden dezelfde posities vanaf het begin overschreven en blijft alleen het nieuwste bericht over. Nest voor echte lagen bestanden: verberg het eerste geheim in een kleine afbeelding, download die en verberg vervolgens dat hele bestand in een grotere afbeelding met een tweede wachtwoordzin. Elke laag blijft byte voor byte intact doordat ze als beschermde gegevens wordt vervoerd, niet als gewijzigde pixels.
Nee. Laden leest alleen de bytes: JPEG-dragers gaan direct naar de gekwantiseerde DCT-coëfficiënten zonder inverse transformatie of herkwantisatie, en pixeldragers worden verliesvrij gedecodeerd. De verborgen gegevens blijven dus intact. Een JPEG kan iets anders van grootte worden door herschreven entropiecodering, maar dat verandert de payload niet. Je kunt veilig een bestand van iemand anders openen en de inhoud onthullen.
Ja. Voeg je auteursrechtvermelding of eigendomsbewijs rechtstreeks aan de foto toe. De gegevens zitten in de pixels of JPEG-coëfficiënten en zijn bij normaal bekijken onzichtbaar, zodat je de afbeelding openbaar kunt delen zonder dat iemand het merkt. Bij ongeoorloofd hergebruik blijft het verborgen kenmerk in het bestand. Als je dezelfde afbeelding op een extern platform publiceert om de inbreuk vast te leggen, draagt ook die kopie je bewijs, als onderbouwing voor een verwijderverzoek of claim.
Zeker. Verberg bijvoorbeeld "Ik hou van je", of iets anders dat lastig uit te spreken is, in een gewone dagelijkse foto. Gebruik de verjaardag van de ontvanger als wachtwoordzin. Stuur de foto en vraag diegene hem in ImageSteg te openen, of via 73hi.com/image-steg.html. Alleen iemand met de wachtwoordzin kan de woorden onthullen, zodat je je kunt uiten zonder het hardop te hoeven zeggen.