GRid calculation
Grid specs https://en.wikipedia.org/wiki/Global_Release_Identifier
So we will use for fairregister
RC-FAREG-1234567890-1
We continue to use RC
as the identifier scheme. The second element is the abbreviation for the service. The third element is a subsequent unique number, it can start with 0000000001
.
How to calculate last digit checksum (source https://de.wikipedia.org/wiki/ISO/IEC_7064 with mod 11,10, GrID uses Mod 37, 36):
Zeichenkette : array[1..n] of 0..9 (* Ziffernwerte einer Zeichenkette aus Ziffern *);
Produkt := 10;
for i := 1 to n do
begin
Summe := (Zeichenkette[i] + Produkt) MOD 10;
if Summe = 0 then Summe := 10;
Produkt := (Summe * 2) MOD 11;
end;
(* Prüfzeichenwert berechnen *)
Prüfzeichenwert := 11 - Produkt;
if Prüfzeichenwert = 10 then Prüfzeichenwert := 0;
This calculator has a JavaScript for calculating the checksum: https://grid.ifpi.org/grid-checksum.asp - or ask ChatGPT