1. 程式人生 > >Android luhn演算法 銀行卡號校驗

Android luhn演算法 銀行卡號校驗

LUHN演算法,主要用來計算信用卡等證件號碼的合法性。
1、從卡號最後一位數字開始,偶數位乘以2,如果乘以2的結果是兩位數,將兩個位上數字相加儲存。
2、把所有數字相加,得到總和。
3、如果信用卡號碼是合法的,總和可以被10整除。
/**
* 驗證是否為銀行卡號 使用luhn 方法驗證
*/

    public static boolean isBankNumber(String bankNumber) {
        char[] cc = bankNumber.toCharArray();
        int[] n = new int[cc.length + 1
]; int j = 1; for (int i = cc.length - 1; i >= 0; i--) { n[j++] = cc[i] - '0'; } int even = 0; int odd = 0; for (int i = 1; i < n.length; i++) { if (i % 2 == 0) { int temp = n[i] * 2; if (temp < 10
) { even += temp; } else { temp = temp - 9; even += temp; } } else { odd += n[i]; } } int total = even + odd; if (total % 10 == 0) return
true; return false; }