{"id":83961,"date":"2023-10-27T12:42:19","date_gmt":"2023-10-27T12:42:19","guid":{"rendered":"https:\/\/hanstimmerman.me\/?p=83961"},"modified":"2024-01-04T06:46:13","modified_gmt":"2024-01-04T06:46:13","slug":"het-geheim-achter-bar-qr-en-hash-codes","status":"publish","type":"post","link":"https:\/\/hanstimmerman.me\/nl_nl\/het-geheim-achter-bar-qr-en-hash-codes\/","title":{"rendered":"Het geheim achter Bar-, QR- en Hash-codes"},"content":{"rendered":"<h5><span style=\"color: #000000;\">In 1835 bedacht Samuel Morse een methode om letters, leestekens en cijfers te coderen met in tussenpozen uitgezonden signalen. De morsecode is de voorloper van onze huidige digitale communicatie. In 1952 patenteerden Woodland en Silver de streepjescode, die is afgeleid van de morsecode, echter nu met streepjes (een verticale punt) en balken (een verticale streep). Deze <a style=\"color: #000000;\" href=\"https:\/\/nl.wikipedia.org\/wiki\/Streepjescode\">streepjescode<\/a> of barcode bleef lang onbekend, tot de Britse spoorwegen in de jaren zestig deze code op hun wagons schilderden, waarna de code van voorbij-rijdende treinen makkelijk met een langs de rails geplaatste scanner kon worden gelezen. Met de opkomst van elektronische kassasystemen werd &#8211; nu vijftig jaar geleden &#8211; de streepjescode algemeen ingevoerd.<\/span><\/h5>\n<p><span style=\"color: #000000;\"><b>Barcode<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Het Britse Sainbury was in 1972 de eerste supermarkt die met succes de streepjescode invoerde die op de zijkant van een plank werd geprint om de productcode te lezen. In 1974 werd de eerste code op een pakje Wrigley kauwgum geprint die met een UPC-scanner kon worden gescand. De rest is eigenlijk historie. De barcode &#8211; <a style=\"color: #000000;\" href=\"https:\/\/web.archive.org\/web\/20061225160238\/http:\/\/www.openbarcode.org\/wiki\/Code_128_specification\">code 128<\/a> &#8211; is een variable lengte van<span class=\"Apple-converted-space\">\u00a0 <\/span>ASCII-tekens. De volgorde is altijd zwart-wit. Een zwart of wit streepje kan vier breedtes hebben en \u00e9\u00e9n totale zwart\/wit combinatie is elf. Omdat niet op wit kan worden ge\u00ebindigd, is de eindcode een zwarte streep met breedte 2. De code begint met een startsymbool en eindigt met een controle en stopsymbool.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Hoewel de barcode in eerste instantie als 7-bit ASCCII-code was ontwikkeld, kan men door de breedte variatie nu alle 128 ASCII-karakters coderen. Er is formeel geen maximum lengte voor de barcode en je kunt hem zo lang maken als je wilt. In 1973 werd de Uniform Code Council (UCC) opgericht om de barcode-standaard te beheren. De European Article Numbering Association (EAN) volgde in 1977 waarna deze twee uiteindelijk in 1999 het Auto-ID center voor elektronische productcodes inrichtten, waardoor GS1-standaarden konden worden gebruikt. Hoewel GS1 geen acroniem is, verwijst het naar het mondiale standaardsysteem dat we nu voor barcodes hebben.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><b>De QR-code<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">De QR-code is een <a style=\"color: #000000;\" href=\"https:\/\/en.wikipedia.org\/wiki\/QR_code\">opvolger<\/a> van de streepjescode en is een soort in een vierkant \u2018opgerolde\u2019 streepjescode. QR staat voor Quick Response en is uitgevonden door het Japanse bedrijf Denso Wave voor het labelen van auto-producten. In plaats van verschillende barcodes hoeven te printen en te lezen, kan dat met een QR-code in \u00e9\u00e9n keer gebeuren. De code bestaat uit zwarte vierkanten die in een vierkant raster op een witte achtergrond zijn gerangschikt en met een gewone camera kunnen worden gelezen. Vooral de snelle leesbaarheid maakte dat de QR-code &#8211; mede door de opkomst van camera\u2019s in mobiele telefoons &#8211; snel populair werd en heeft een veel grotere opslagcapaciteit dan barcodes. Hoewel het patent formeel van Denso Wave is, heeft het bedrijf de QR-code open source maakt en is nu wereldwijd een standaard geworden.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">De afgelopen jaren is de QR-code de meest gebruikte tweedimensionale code geworden.<span class=\"Apple-converted-space\"> G<\/span>egevens opgeslagen in een QR-code kunnen maximaal 3KB groot zijn, zoals website-URL&#8217;s, telefoonnummers, video&#8217;s, geolocaties enz. Via QR-codes kun je direct en foutloos linken naar websites en productpagina\u2019s, aanmeldingsformulieren, betalingsopdrachten of algemene informatie. In juni 2011 heeft de Koninklijke Nederlandse Munt de eerste offici\u00eble munt ter wereld met een QR-code uitgegeven om haar eeuwfeest te vieren. De munt kan met een smartphone worden gescand en is gekoppeld aan een speciale website met inhoud over de historische gebeurtenis en het ontwerp van de munt. Maar ook creditcardfunctionaliteit is momenteel in ontwikkeling om op die manier betalingen te accepteren; de QR-code als factuur.<\/span><\/p>\n<p><span style=\"color: #000000;\"><b>QR en hashcodes<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">Hoewel QR-codes een geweldige manier zijn om informatie op te slaan en te openen, brengen ze ook risico\u2019s met zich meer. Er is zelfs al een woord voor <a style=\"color: #000000;\" href=\"https:\/\/www.nieuwsblad.be\/cnt\/dmf20231026_94851098\">bedacht<\/a>: \u201cQuishing\u2019, het oude phishing maar nu via QR-codes. De code kan inherent natuurlijk niet worden gehackt, het optische beeld is niet makkelijk te veranderen. Maar fraudeurs kunnen onschuldig lijkende QR-codes genereren die je naar phishing-websites leiden. Een mooie advertentie, een kortingsaanbod of een aantrekkelijk verhaaltje of de oproep voor een update van je telefoon. De creativiteit van hackers is oneindig. Daarom is het steeds vaker nodig goed te weten waar een QR-code je eventueel naar toe stuurt. Een veilige QR-check voordat je doorklikt. <span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Daarom zien we ontwikkelingen waar in een QR-code een hashcode wordt mee gecodeerd die kan worden geverifieerd in een blockchain. Als de QR-code wordt gegenereerd, wordt de uniek hashcode zowel in de QR-code als op een blockchain geplaatst. Als de gebruiker of consument nu de QR-code leest, controleert het systeem de hashwaarde en veilige herkomst van die code. Als die hashwaarden overeenkomen, kun je veilig de URL-link volgen. Dat is het mooie van de onveranderlijkheid van de blockchain. Bovendien kunnen twee QR-codes of twee transacties nooit dezelfde hashwaarde hebben; elke transactie op de Blockchain heeft een unieke hashwaarde. Door een dApp op je mobiele telefoon te installeren die de hashcode in de Blockchain controleert, kun je dus Quishing voorkomen.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><b>Het mooie van hashing en Blockchain<\/b><\/span><\/p>\n<p><span style=\"color: #000000;\">In een <a style=\"color: #000000;\" href=\"https:\/\/www.linkedin.com\/pulse\/blockchain-als-onuitwisbare-inkt-hans-timmerman\/?originalSubdomain=nl\">blog<\/a> \u2018<i>Blockchain als onuitwisbare inkt<\/i>\u2019 heb ik eerder het grote belang van hashing uitgelegd. In een Blockchain leggen we informatie zowel met een uniek tijdstempel als een hashcode vast. De hash is een unieke \u2018verhaspelingscode\u2019, een unieke digitale vingerafdruk. Een hashcode is ontworpen om elk bericht van elke lengte te accepteren en een code met een vaste lengte terug te geven. De hashcode SHA2656 neemt bijvoorbeeld een code van elke lengte en verandert deze in een code van 64 tekens. Ga je gang en <a style=\"color: #000000;\" href=\"https:\/\/www.theproblemsite.com\/reference\/mathematics\/codes\/cryptographic-hash-codes#:~:text=A%20hash%20code%20is%20designed,get%20expanded%20to%2064%20characters.\">probeer het<\/a>. Typ &#8216;John&#8217; in de hash-encoder en zie dat het wordt uitgebreid tot 64 tekens. Typ de volledige Onafhankelijkheidsverklaring in en zie hoe deze wordt teruggebracht tot 64 tekens! Onmogelijk om te veranderen en te frauderen.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Hashing is een set data herhaaldelijk dusdanig te bewerken dat er \u00e1ltijd een code met dezelfde lengte wordt gegenereerd. Het mooie is dat uit die gegenereerde code echter n\u00f3\u00f3it meer de oorspronkelijke informatie kan worden gegenereerd. Maar wel dat de oorspronkelijke informatie \u00e1ltijd weer dezelfde hashcode oplevert. Daarom wordt deze techniek zo vaak in de wereld van encryptie gebruikt, het is immers een \u00e9\u00e9nrichtingsweg die op geen enkele wijze teruggang mogelijk maakt. Door de hashcode nog unieker te maken met een timestamp, een moment in de tijd dat nooit meer terugkomt, is de Blockchain een unieke onveranderlijke database waar we ook voor QR-codes gebruik van kunnen maken. Zie ook <a style=\"color: #000000;\" href=\"https:\/\/hanstimmerman.me\/de-blockchain-en-punniken\/\">mijn blog<\/a> \u2018<i>De blockchain is een soort punniken<\/i>\u2019.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p><span style=\"color: #000000;\">Door het Blockchain transactie verwerkingsproces met Proof-of-Work of Proof-of-Stake controle wordt daarnaast bij elke transactievastlegging ook nog een controleerbaar auditproces doorlopen om te zien of de transactie geldig is. Daarom is Blockchain is een van de mooiste ontdekkingen sinds het internet. En hashing is een belangrijk onderdeel daarvan.<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/p>\n<p>Photo by <a href=\"https:\/\/unsplash.com\/@chriscurry92?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash\">Chris Curry<\/a> on <a href=\"https:\/\/unsplash.com\/photos\/the-morse-code-book-j5s_uLajP2o?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash\">Unsplash<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 1835 bedacht Samuel Morse een methode om letters, leestekens en cijfers te coderen met in tussenpozen uitgezonden signalen. De morsecode is de voorloper van onze huidige digitale communicatie. In 1952 patenteerden Woodland en Silver de streepjescode, die is afgeleid van de morsecode, echter nu met streepjes (een verticale punt) en balken (een verticale streep). De QR-code is een opvolger van de streepjescode en is een soort in een vierkant \u2018opgerolde\u2019 streepjescode.<br \/>\nQR staat voor Quick Response en is uitgevonden door het Japanse bedrijf Denso Wave voor het labelen van auto-producten. In plaats van verschillende barcodes te hoeven printen en lezen, kon dat met een QR-code in \u00e9\u00e9n keer gebeuren.<br \/>\nDe hash is een unieke \u2018verhaspelingscode\u2019, een unieke digitale vingerafdruk onveranderlijk vast. Een hashcode is ontworpen om elk bericht van elke lengte te nemen en een code met een vaste lengte terug te geven.<\/p>\n","protected":false},"author":3,"featured_media":83963,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[280,71,72,75,80],"tags":[333,331,332],"class_list":["post-83961","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blockchain","category-digital-economy","category-digitalisation","category-innovation","category-trusted-it","tag-hashcode","tag-barcode","tag-qr-code"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/hanstimmerman.me\/wp-content\/uploads\/2023\/10\/chris-curry-j5s_uLajP2o-unsplash-scaled-e1698410596903.jpg?fit=1601%2C689&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/comments?post=83961"}],"version-history":[{"count":25,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83961\/revisions"}],"predecessor-version":[{"id":83987,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/posts\/83961\/revisions\/83987"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/media\/83963"}],"wp:attachment":[{"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/media?parent=83961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/categories?post=83961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hanstimmerman.me\/nl_nl\/wp-json\/wp\/v2\/tags?post=83961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}