Hacker News new | ask | show | jobs
by throwaway2016a 841 days ago
It's purely for user experience not security. And it is pretty good at that.

Many of the methods to entering these numbers are very error prone:

- Laser scanners

- Cameras

- Humans

- Magnetic readers

- etc

The check digit lets the system know the error was likely misread / mistyped without needing a database or the like and also helps prevent an accidental mistyped value from also being a valid valud (The number for Book A is unlikely to be mistyped exactly to be the number for Book B because of the check digit).

It also can help to improve scanning speed to some degree since if you have two interpretations of the signal it is possible to infer which one is most likely to be correct.

1 comments

> It's purely for user experience not security. And it is pretty good at that.

Indeed. One of the things I hate is that the bank account numbers in our banks does not have a check digit. There have been cases where people have transferred hundreds of thousands to wrong accounts, simply by mistyping a single digit in the account number.

If you have some important generated reference that needs to be entered manually, include some check digit/letter.

As usual EU has the better stuff, IBAN does have code checksum mechanisms! https://en.wikipedia.org/wiki/International_Bank_Account_Num...
Yes, I was looking forward to read the section on IBANs, before it never came. Then I noticed the article being from 2000. IBANs weren't in use at that time.

At least in Germany IBANs are not very popular. Compared to the national numbers usability has decreased a lot.

Previosly the was bank id in a nice 3-3-2 grouping. Because there are not so many banks the numbers were systtematically and sparsely assigned. When I was a student in Germany I had 600 100 70, I remember it decades later. Account numbers were variable length, most banks did not have very long ones.

With IBANs the bank id remained unchanged, but the grouping got very weird, so it's hard to recognize and remeber. Account number have been padded with leading zeros to achieve a fixed length IBAN. So the nice short numbers ended up with long runs of zeros, not at all user-friendly. In the old days I knew several accounts by heart. For IBANs I do not naturally remember a single one (I know how to construct the from old numbers, but it's a tedious process not happening in a couple of seconds.) Typing a German IBAN is a nightmare every time.

Do banks in the US not support IBANs? I thought they were supposed to be international/universal. I use them even for domestic (even same bank) transfers because it's just a single number I can paste/type into my online banking page.

Didn't even know they had checksums until earlier this year, when I was going to yes-and someone complaining about needing to enter them by hand from written forms and looked up if I was correct.