For purely numerical data, such as the library barcode pictured above, the Luhn algorithm is popular.
This substitution method needs to be applied for many of the fields that are in DB structures across the world, such as telephone numbers, zip codes and postcodes, as well as credit card numbers and other card type numbers like Social Security numbers and Medicare numbers where these numbers actually need to conform to a checksum test of the Luhn algorithm.
The remainder of the IMEI is manufacturer-defined, with a Luhn check digit at the end.
An NPI number that is a 10-digit NPI Number may be validated using the Luhn algorithm by prefixing "80840" to the 10-digit number.
algorithm | RSA (algorithm) | Secure Hash Algorithm | Schönhage–Strassen algorithm | Luhn algorithm | Earley's Algorithm | Dijkstra's algorithm | CYK algorithm | Viterbi algorithm | Prim's algorithm | Levenberg–Marquardt algorithm | Kosaraju's algorithm | Yarrow algorithm | sorting algorithm | Root-finding algorithm | Kruskal's algorithm | Hans Peter Luhn | Generic Security Service Algorithm for Secret Key Transaction | Digital Signature Algorithm | Cayley–Purser algorithm | Blahut–Arimoto algorithm | Bellman–Ford algorithm | Algorithm | Verhoeff algorithm | Vatti clipping algorithm | Sorting algorithm | Secure Hash Algorithm (disambiguation) | Schoof's algorithm | Schoof–Elkies–Atkin algorithm | root-finding algorithm |