2017-03-27 79 views
0

有沒有人知道增強或增強Luhn公式的任何實現用於檢查支付卡上的模數-10「雙加雙」校驗位數? http://d.researchbib.com/f/6nnJcwp21wYzAioF9xo2AmY3OupTIlpl9XqJk5ZwNkZl9JZxx3ZwNkZmpmYaOxMt.pdf增強型Luhn算法的實現?

會增強盧恩檢查的實際用途:

增強在該文件建議?

+1

不,不是真的。驗證PAN的唯一方法就是將其發送給收單機構進行授權 - 同樣,驗證電話號碼的唯一方法就是調用它。我沒有看到該論文或其中包含的任何有效提案的要點,假設一個平底鍋的長度是一個固定的16位數是開始的錯誤。 –

回答

1

這篇論文被同行評審的期刊接受,這有點奇怪。該論文描述了1970年代基本上被認定爲弗萊徹校驗和的問題;它的長度和數據轉換無法準確檢測。

但讓我們來思考此提案的實際方面。如果你真的深入細節,實施起來有很多原因是不可行的。

Luhn算法是作爲一個簡單的,盡力而爲的方法來驗證卡號。當信用卡開始以電子方式進行廣泛處理時(之前他們已經完成了紙質印記),因此沒有永遠在線的網絡來呼叫服務進行驗證。 Luhn可以在不需要網絡連接的情況下執行驗證。這是建立不可行性的第一個前提:您必須能夠執行驗證而不需要遍歷網絡。

此「無網絡遍歷」前提使得MII查找不可行。有兩種實現方法:

  1. 執行MII查找的Web服務。這意味着每次輸入數據都需要一次網絡電話才能在網絡通話前驗證卡號以處理付款。驗證調用可能會比事務處理花費的時間長或更長。在驗證的情況下,它必須是同步的 - 用戶需要等待結果才能繼續訂單。如果由於某種原因無法完成呼叫,客戶可能只是在其他地方訂購。

處理卡授權可以是異步的。亞馬遜這樣做;他們確認收到您的訂單,並會在稍後確認付款處理。

  • 的MII數據庫的週期分佈到所有設備。每個手機應用程序,支付終端,網站,ERP等都將不斷需要添加新的MII並刪除舊的MII。他們中的很多人可能會過時一段時間,導致某些商家拒絕交易,但在使用同一張卡時爲其他人批准交易。消費者會不相信使用這些卡。
  • 最後,筆者對於該卡的長度一個錯誤的假設。 Luhn算法適用於很多長度,因爲卡號長度可以長於或短於16位。美國運通卡的消費者卡是15位數,其他卡是16位。商業卡可以超過16位數字;我已經看到了20位數的商業空氣加油卡。如果作者研究了IEC/ISO 7812標準,這將會被理解。標準委員會甚至建議延長標準卡號的長度。最重要的是,當卡號長度延長時,Luhn算法仍然會驗證卡片。

    幫自己一個忙,依靠盧恩作爲第一步,但然後讓處理器爲你做繁重的任務通過驗證該卡是通過現有的卡處理網絡不可否認的是正確的。

    1

    我做了一個Google搜索,發現軟件實現了一個由Hussein等人在軟件開發人員Pawel Decowski的Luhn檢查中提出的相同的兩個增強。這是他的jQuery信用卡驗證器(Decowski,2015/2016)。我會推測Decowski受到侯賽因等人的影響。

    Decowski,P.(2015/2016)jquery-creditcardvalidator [Online]。可在https://github.com/PawelDecowski/jquery-creditcardvalidator(2017年4月11日查閱)。