信用卡luhn演算法(模10)具體的校驗過程如下:
1、從卡號最後一位數字開始,逆向將奇數字(1、3、5等等)相加。
2、從卡號最後一位數字開始,逆向將偶數字數字,先乘以2(如果乘積為兩位數,則將其減去9),再求和。
3、將奇數字總和加上偶數字總和,結果應該可以被10整除。
例如,卡號是:5432123456788881
則奇數、偶數字分布:5432123456788881
奇數字和=35
偶數字乘以2(有些要減去9)的結果:1 6 2 6 1 5 7 7,求和=35。
最後35+35=70 可以被10整除,認定校驗通過。
j**a**
public static boolean luhnvalidate(string cardno)if(null == cardno || cardno.matches("[0-9]*"))
int result = 0;
int digit = 0;
int counter = 0;
for(int i = cardno.length()-2; i >= 0; i--) else
counter++;
} return (10 - result%10) == character.digit(cardno.charat(cardno.length()-1), 10);
}
銀行卡號碼校驗演算法(Luhn演算法,又叫模10演算法)
有時候在網上辦理一些業務時有些需要填寫銀行卡號碼,當胡亂填寫時會立即報錯,但是並沒有發現向後端傳送請求,那麼這個效果是怎麼實現的呢。對於銀行卡號有乙個校驗演算法,叫做luhn演算法。銀行卡號碼的校驗採用luhn演算法,校驗過程大致如下 1.從右到左給卡號字串編號,最右邊第一位是1,最右邊第二位是2,...
銀行卡的校驗
銀行卡號一般是16位或者19位。由如下三部分構成。1,前六位是 發行者標識 2,中間的位數是 個人賬號標識 從卡號第七位開始 一般由6 12位數字組成。最多可以使用12位數字。3,最後一位是 根據卡號前面的數字,採用luhn演算法計算出的最後一位校驗位 public static boolean c...
銀行卡校驗規則
銀行卡號碼,一般是13 19位,由 卡bin 發卡行自定位 校驗位 三部分構成,其中 1 前6位是卡bin,由國際標準化組織分配給從事跨行轉接交換的銀行卡組織 2 發卡機構自定義位由6 12位數字組成,由發卡機構賦予 3 卡號的後1位數字,根據校驗位以前的數字 包括bin 取值按luhn方程計算得出...