麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

android銀行卡號驗證算法詳解

2019-12-12 00:32:12
字體:
來源:轉載
供稿:網友

現行 16 位銀聯卡現行卡號開頭 6 位是 622126~622925 之間的,7 到 15 位是銀行自定義的, 可能是發卡分行,發卡網點,發卡序號,第 16 位是校驗碼。

16 位卡號校驗位采用 Luhm 校驗方法計算:

1、將未帶校驗位的 15 位卡號從右依次編號 1 到 15,位于奇數位號上的數字乘以 2
2、將奇位乘積的個十位全部相加,再加上所有偶數位上的數字
3、將加法和加上校驗位能被 10 整除。

public class CheckIdCard {  /**   * 校驗銀行卡卡號   *   * @param cardId   * @return   */  public static boolean checkBankCard(String cardId) {    char bit = getBankCardCheckCode(cardId        .substring(0, cardId.length() - 1));    if (bit == 'N') {      return false;    }    return cardId.charAt(cardId.length() - 1) == bit;  }  /**   * 從不含校驗位的銀行卡卡號采用 Luhm 校驗算法獲得校驗位   *   * @param nonCheckCodeCardId   * @return   */  public static char getBankCardCheckCode(String nonCheckCodeCardId) {    if (nonCheckCodeCardId == null        || nonCheckCodeCardId.trim().length() == 0        || !nonCheckCodeCardId.matches("http://d+")) {      // 如果傳的不是數據返回N      return 'N';    }    char[] chs = nonCheckCodeCardId.trim().toCharArray();    int luhmSum = 0;    for (int i = chs.length - 1, j = 0; i >= 0; i--, j++) {      int k = chs[i] - '0';      if (j % 2 == 0) {        k *= 2;        k = k / 10 + k % 10;      }      luhmSum += k;    }    return (luhmSum % 10 == 0) ? '0' : (char) ((10 - luhmSum % 10) + '0');  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品自拍99 | 色综合激情 | 一级一级一级一级毛片 | 久久91亚洲精品久久91综合 | 久久99网 | 色女人在线| 日本欧美一区二区三区视频麻豆 | 欧美成人免费看 | 国产成人精品一区二区三区电影 | 亚洲天堂字幕 | 污版视频在线观看 | 亚洲成人福利在线 | 成人电影毛片 | 毛片小网站 | 久久精品视频16 | 国产噜噜噜噜噜久久久久久久久 | www.99re14.com| 欧美另类69xxxxx 视频 | 久久精品99国产国产精 | 久久久久久久久久久av | 毛片118极品美女写真 | 久久久入口 | 欧美一级黄色录相 | 日本成人午夜视频 | 国产大片中文字幕在线观看 | 国产精品99免费视频 | 日韩欧美激情视频 | 7777在线视频免费播放 | 看免费一级毛片 | 伊人在线视频 | 亚洲av一级毛片特黄大片 | 亚洲一区二区中文 | 亚洲视色 | 久久久久性 | 日韩精品中文字幕一区 | 91久久国产露脸精品国产 | 91精品国产91 | 成人免费福利网站 | 成人午夜免费观看 | 成人三级免费电影 | 欧美日韩亚洲精品一区二区三区 |