Алгоритм Люна или Верхоффа для номеров кредитных карт

Прежде всего, я не совсем уверен, должно ли это быть в stackoverflow, но я подумал, что все равно попробую спросить.

В прошлом я всегда использовал алгоритм Люна для проверки ошибок в номерах кредитных карт, но сегодня я подумал, что буду реализовывать алгоритм Верхоффа на php, в основном, чтобы убить время.

Я проверил это на своих номерах карт, и он работал нормально, что заставило меня задуматься о том, стоит ли использовать verhoeff вместо luhn для проверки ошибок номера кредитной карты в будущем.

Теперь мои вопросы:

Будет ли какое-либо существенное преимущество в использовании verhoeff перед luhn?

Я знаю, что verhoeff немного сложнее в своей реализации и может обнаруживать больше ошибок транскрипции, чем luhn, что, естественно, приведет к Мне кажется, это немного медленнее, но, помимо преимущества в обнаружении большего количества ошибок транскрипции и недостатка (если вы действительно можете это так назвать) того, что он немного медленнее, я не могу думать о каких-либо других реальных различиях.

Будет ли алгоритм verhoeff работать со всеми основными картами?

Я знаю, что luhn будет работать со всеми основными картами, но будет ли verhoeff работать со всеми из них? Я предполагаю, что это сработает для всех из них, но я подумал, что все равно должен проверить.

Есть ли причина, по которой я видел людей, использующих luhn только для проверки номеров кредитных карт?

За все время, что я был разработчиком, я действительно видел людей, использующих алгоритм luhn для проверки номеров кредитных карт. {{ 1}} Есть ли для этого веская причина, или просто Люн более известен?

Любая помощь будет принята с благодарностью, спасибо за ваше время.

7
задан Jake Lucas 24 November 2011 в 11:22
поделиться