Прежде всего, я не совсем уверен, должно ли это быть в stackoverflow, но я подумал, что все равно попытаюсь спросить.
В прошлом я всегда использовал алгоритм luhn для проверки ошибок в номерах кредитных карт, но сегодня я подумал, что реализую алгоритм verhoeff в php, в основном, чтобы убить время.
Я проверил его на своих собственных номерах карт, и он работал нормально, что заставило меня задуматься о том, следует ли мне использовать verhoeff вместо luhn для проверки ошибок номера моей кредитной карты в будущем.
Теперь мои вопросы:
Может ли использование verhoeff дать существенное преимущество перед luhn?
Я знаю, что verhoeff немного сложнее в своей реализации и может обнаруживать больше ошибок транскрипции, чем luhn, что, естественно, заставило бы меня поверить, что он немного медленнее, но помимо преимущества обнаружения большего количества ошибок транскрипции и недостатка (если вы действительно можете назвать это так) из-за того, что он немного медленнее, я не могу придумать никаких других реальных отличий.
Будет ли алгоритм Верхоффа работать для всех основных карт?
Я знаю, что luhn будет работать для всех основных карт, но будет ли работать verhoeff для всех из них? Я предполагаю, что это сработает для всех из них, но я подумал, что все равно должен проверить.
Есть ли причина, по которой я видел людей, использующих luhn только для проверки номеров кредитных карт?
За все время, что я работал разработчиком, я действительно видел только людей, использующих алгоритм Луна для проверки номеров кредитных карт. Есть ли для этого веская причина, или просто Лун более известен?
Любая помощь будет оценена по достоинству, спасибо за ваше время.