public static string GenerateVerhoeff(string num) { int index1 = 0; int[] reversedIntArray = Verhoeff.StringToReversedIntArray(num); for (int index2 = 0; index2 < reversedIntArray.Length; ++index2) { index1 = Verhoeff.d[index1, Verhoeff.p[(index2 + 1) % 8, reversedIntArray[index2]]]; } return(Verhoeff.inv[index1].ToString()); }
public static bool ValidateVerhoeff(string num) { int index1 = 0; int[] reversedIntArray = Verhoeff.StringToReversedIntArray(num); for (int index2 = 0; index2 < reversedIntArray.Length; ++index2) { index1 = Verhoeff.d[index1, Verhoeff.p[index2 % 8, reversedIntArray[index2]]]; } return(index1 == 0); }