Email or username:

Password:

Forgot your password?
Top-level
Mark Whybird

@cybeardjm @blinry @piko THESE ARE AWESOME. Are there any online tools that allow fiddling with the different options to encode some given data? If I have followed correctly, the mask pattern is entirely arbitrary and could be changed just for aesthetics. In many cases, the encoding could also be a user choice within limits. I can also see that the mysterious error correction section is malleable with insertion of other images like you, @cybeardjm, do or chrome-generated ones have - any simple insights into how that works?

Again though - WOW.

5 comments
Mark Whybird

@cybeardjm @blinry @piko p.s. while the @cybeardjm “content creation…” QR scans just fine on my iPhone’s scanner, the interactive decoder by @blinry and @piko running in iOS safari refuses to recognise it :(

Marcel Waldvogel

Nayuki explains the creation side of QR codes very well, including the selection of the mask.
nayuki.io/page/creating-a-qr-c

It is not only the ECC area that is malleable, the entire code is. Actually, *before* a QR reader starts decoding the content, it checks for (and fixes) errors in the content with help of the ECC bits.

So, a malicious user could create a code which a human would decode differently from a computer…

@whybird @cybeardjm @blinry @piko

Nayuki explains the creation side of QR codes very well, including the selection of the mask.
nayuki.io/page/creating-a-qr-c

It is not only the ECC area that is malleable, the entire code is. Actually, *before* a QR reader starts decoding the content, it checks for (and fixes) errors in the content with help of the ECC bits.

lgvs

@marcel
Thank you, I was just about to ask how mask was chosen! Really interesting.

@whybird @cybeardjm @blinry @piko

Marcel Waldvogel

@lgvs @whybird @cybeardjm @blinry @piko I don't think it is mentioned on the page, but in the code: To minimize uniform-color areas and eye-like patterns.

Go Up