国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種銀行卡號(hào)自選方法及裝置的制造方法

      文檔序號(hào):10594923閱讀:1091來(lái)源:國(guó)知局
      一種銀行卡號(hào)自選方法及裝置的制造方法
      【專利摘要】本發(fā)明提供一種銀行卡號(hào)自選方法及裝置,其中,該方法包括:確定用戶自選位的數(shù)值;根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào);將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。采用本發(fā)明方法可以實(shí)現(xiàn)用戶對(duì)銀行卡號(hào)的自主選擇,滿足用戶的個(gè)性化需求。
      【專利說(shuō)明】
      一種銀行卡號(hào)自選方法及裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及號(hào)碼選擇技術(shù)領(lǐng)域,特別涉及一種銀行卡號(hào)自選方法及裝置。
      【背景技術(shù)】
      [0002]在平常生活中,對(duì)號(hào)碼的選取接觸的最多的就是手機(jī)號(hào)碼的選取,其選號(hào)方式是:各個(gè)號(hào)碼銷售點(diǎn)將能夠提供的手機(jī)號(hào)碼全部羅列出來(lái),顧客在所提供的號(hào)碼中選擇自己喜歡的號(hào)碼,例如有幾個(gè)連續(xù)相同的數(shù)字的號(hào)碼、在號(hào)碼中8和6出現(xiàn)較多的號(hào)碼等等,這種號(hào)碼出售方式較以往的只負(fù)責(zé)提供一個(gè)能夠使用的號(hào)碼的方式提高了靈活性,滿足顧客的個(gè)性化需求。
      [0003]而對(duì)于銀行而言,一般是用戶填寫好資料,申請(qǐng)銀行卡的時(shí)候,銀行會(huì)自動(dòng)分配給用戶一個(gè)號(hào)碼。銀行卡號(hào)主要由發(fā)卡機(jī)構(gòu)標(biāo)識(shí)代碼(BIN)、發(fā)卡機(jī)構(gòu)自定義位和校驗(yàn)位共三部分組成。其中,發(fā)卡機(jī)構(gòu)標(biāo)識(shí)代碼(BIN)為前6位數(shù)字,校驗(yàn)位為卡號(hào)最后I位,中間位數(shù)為發(fā)卡機(jī)構(gòu)自定義位,發(fā)卡機(jī)構(gòu)自定義位可以包括發(fā)卡地區(qū)碼和卡序號(hào),如圖1所示,也可以不包括發(fā)卡地區(qū)碼,只包括卡序號(hào),如圖2所示。現(xiàn)有的銀行卡號(hào)都是銀行自主分配給用戶的,用戶沒(méi)有自主選擇權(quán),這樣不能滿足用戶的個(gè)性化需求。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明實(shí)施例提供了一種銀行卡號(hào)自選方法,可以滿足用戶的個(gè)性化需求。該方法包括:
      [0005]確定用戶自選位的數(shù)值;
      [0006]根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之前;
      [0007]將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào);
      [0008]將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。
      [0009]在一個(gè)實(shí)施例中,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值,包括:
      [0010]根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值。
      [0011 ]在一個(gè)實(shí)施例中,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值,具體包括:
      [0012]當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值;
      [0013]當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值,其中,η大于等于2,n為整數(shù)。
      [0014]在一個(gè)實(shí)施例中,所述當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值,具體包括:
      [0015]當(dāng)一位擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值;所述校驗(yàn)位為用戶自選位的最后一位;
      [0016]當(dāng)一位擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值;
      [0017]所述奇數(shù)位或偶數(shù)位按如下方式確定:
      [0018]從用戶自選位的最后一位開(kāi)始往前數(shù)。
      [0019]在一個(gè)實(shí)施例中,在確定擠兌位前η-1位的數(shù)值之前,還包括:
      [0020]查詢當(dāng)前序號(hào)發(fā)生器序號(hào);
      [0021]所述按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值,具體包括:
      [0022]從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。
      [0023]在一個(gè)實(shí)施例中,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值,具體包括:
      [0024]根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法確定擠兌位的數(shù)值;
      [0025]所述將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào),具體包括:
      [0026]將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。
      [0027]本發(fā)明實(shí)施例還提供了一種銀行卡號(hào)自選裝置,可以滿足用戶的個(gè)性化需求。該裝置包括:
      [0028]自選位數(shù)值確定模塊,用于用戶自選位的數(shù)值;
      [0029]擠兌位確定模塊,用于根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之前;
      [0030]自選銀行卡號(hào)生成模塊,用于將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào);
      [0031]比對(duì)模塊,用于將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。
      [0032]在一個(gè)實(shí)施例中,所述擠兌位確定模塊具體用于:
      [0033]根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值。
      [0034]在一個(gè)實(shí)施例中,所述擠兌位確定模塊具體用于:
      [0035]當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值;
      [0036]當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前n-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值,其中,η大于等于2,n為整數(shù)。
      [0037]在一個(gè)實(shí)施例中,所述擠兌位確定模塊具體用于:
      [0038]當(dāng)一位擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值;所述校驗(yàn)位為用戶自選位的最后一位;
      [0039]當(dāng)一位擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值;
      [0040]所述奇數(shù)位或偶數(shù)位按如下方式確定:
      [0041 ]從用戶自選位的最后一位開(kāi)始往前數(shù)。
      [0042]在一個(gè)實(shí)施例中,還包括:
      [0043]查詢模塊,用于查詢當(dāng)前序號(hào)發(fā)生器序號(hào);
      [0044]所述擠兌位確定模塊具體用于:
      [0045]從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。
      [0046]在一個(gè)實(shí)施例中,所述擠兌位確定模塊具體用于:
      [0047]根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法確定擠兌位的數(shù)值;
      [0048]所述自選銀行卡號(hào)生成模塊具體用于:
      [0049]將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。
      [0050]在本發(fā)明實(shí)施例中,用戶首先確定自選位的數(shù)值,然后根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值,再將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào),最后將自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),確定該自選銀行卡號(hào)是否可用,通過(guò)本發(fā)明方法可以使用戶自己選擇銀行卡號(hào),可以滿足用戶的個(gè)性化需求。
      【附圖說(shuō)明】
      [0051]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0052]圖1是一種銀行卡號(hào)組成形式示意圖;
      [0053]圖2是另一種銀行卡號(hào)組成形式示意圖;
      [0054]圖3是一種銀行卡號(hào)自選方法流程圖;
      [0055]圖4是一種Luhn算法不意圖;
      [0056]圖5是當(dāng)擠兌位為奇數(shù)位時(shí)卡號(hào)示意圖;
      [0057]圖6是當(dāng)擠兌位為偶數(shù)位時(shí)卡號(hào)示意圖;
      [0058]圖7是當(dāng)擠兌位為2位時(shí)卡號(hào)示意圖;
      [0059]圖8是當(dāng)擠兌位為3位時(shí)卡號(hào)示意圖;
      [0060]圖9是一種銀行卡號(hào)自選裝置結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0061]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0062]現(xiàn)有的銀行卡號(hào)都是由銀行自主設(shè)置,讓后下發(fā)給用戶的,用戶不能自己選擇自己喜歡的號(hào)碼,這樣不能滿足用戶的個(gè)性化需求?;诖?,在本發(fā)明實(shí)施例中,提出了一種銀行卡號(hào)自選方法及裝置。
      [0063]圖3是一種銀行卡號(hào)自選方法流程圖;如圖3所示,該方法包括:
      [0064]步驟301:確定用戶自選位的數(shù)值;
      [0065]步驟302:根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之
      、廣.刖;
      [0066]步驟303:將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào);
      [0067]步驟304:將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。
      [0068]具體實(shí)施時(shí),用戶自選位的位數(shù)為卡序號(hào)(銀行卡號(hào)中預(yù)設(shè)的可自選位)的位數(shù),一般情況下是卡序號(hào)位全部由用戶自選成喜歡的號(hào)碼,然后通過(guò)計(jì)算獲得校驗(yàn)位的數(shù)值,然后驗(yàn)證用戶自選卡號(hào)是否可用。但本發(fā)明是用戶自行設(shè)定校驗(yàn)位的數(shù)值和部分卡序號(hào)位的數(shù)值,然后通過(guò)計(jì)算獲得卡序號(hào)位中剩余未被用戶選擇的位的數(shù)值,然后驗(yàn)證用戶自選卡號(hào)是否可用。
      [0069]目前國(guó)內(nèi)大部分發(fā)行的銀行卡的卡號(hào)長(zhǎng)度為16位或者19位。以國(guó)內(nèi)四大行之一中國(guó)銀行發(fā)行的卡號(hào)為例,借記卡長(zhǎng)度為19位,主要由6位BIN+4位發(fā)卡地區(qū)碼+8位序號(hào)+1位校驗(yàn)位組成;準(zhǔn)貸記卡的卡號(hào)長(zhǎng)度目前是16位,主要由6位BIN+2位發(fā)卡地區(qū)碼+7位序號(hào)+1位校驗(yàn)位組成。國(guó)內(nèi)貸記卡的卡號(hào)長(zhǎng)度目前是16位,主要由6位BIN+9位序號(hào)+1位校驗(yàn)位組成。由此可知,銀行卡號(hào)分兩種情況:一種是沒(méi)有發(fā)卡地區(qū)碼,另一種是有發(fā)卡地區(qū)碼。
      [0070]針對(duì)第一種情況,在用戶確定了自選位的數(shù)值之后,需要根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值。針對(duì)第二種情況,在用戶確定了自選位的數(shù)值之后,需要根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,確定擠兌位的數(shù)值。其中,擠兌位:當(dāng)用戶自選的位數(shù)小于可以自選的位數(shù)時(shí),未選擇的位數(shù)即為擠兌位。如圖1所示,用戶自選后7位(包括校驗(yàn)位),可自選的為后9位,則擠兌位為倒數(shù)第8、9位,即圖示的X、Y。校驗(yàn)位:位置位于卡號(hào)最后I位數(shù)字,如圖1所示。其目的并不是用于數(shù)字加密,而是為了有效防止偶然的輸入性錯(cuò)誤。
      [0071]在本例中,在確定擠兌位的數(shù)值時(shí),本發(fā)明采用的是Luhn算法。Luhn算法由IBM的Hans Peter Luhn發(fā)明,又稱為“模10”算法。它是一種簡(jiǎn)單的校驗(yàn)和算法,用來(lái)驗(yàn)證識(shí)別號(hào)碼,廣泛地應(yīng)用于銀行卡號(hào)、ΜΕΙ號(hào)、社會(huì)保險(xiǎn)號(hào)的合法性驗(yàn)證。首先,從卡號(hào)的最后一位數(shù)字開(kāi)始,偶數(shù)位乘以2,如果乘積是兩位數(shù),則將兩個(gè)位上的數(shù)字相加保存。然后將所有數(shù)字相加求和。如果卡號(hào)是合法的,則總和能被10整除。下面以19位借記卡號(hào)為例,如圖4所示,最右邊X為fe驗(yàn)位,說(shuō)明Luhn算法:
      [0072]1、從卡號(hào)最后一位起,偶數(shù)位進(jìn)行乘2操作,然后和其余位的數(shù)字進(jìn)行累加求和操作;其中乘2操作所得> = 10的,十位數(shù)和個(gè)位數(shù)進(jìn)行累加求和(即減9進(jìn)行累加);對(duì)于乘2操作所得〈10的,正常累加求和。計(jì)算公式如下:
      [0073]SUM=X+(8*2-9)+7+(6*2-9)+5+(4*2)+3+(2*2)+l+(0*2)+0+(l*2)+0+(l*2)+6+(6*2-9)+1+(2*2)+6 = Χ+62;
      [0074]2、根據(jù)Luhn算法,SUM模10為O。即(X+62)mod 10 = 0,所以校驗(yàn)位X = 8。具體實(shí)施時(shí),由于用戶自選位的位數(shù)不定,因此擠兌位的位數(shù)也是不定的。擠兌位的位數(shù)可以是I位,也可以是η位,其中,η大于等于2,n為整數(shù)。在本例中,確定擠兌位的算法如下:
      [0075]針對(duì)第一種情況(不包括發(fā)卡地區(qū)碼):
      [0076]當(dāng)擠兌位I位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定I位擠兌位的數(shù)值。
      [0077]當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值(因?yàn)殂y行卡號(hào)都是按照遞增序號(hào)進(jìn)行發(fā)卡),根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值。
      [0078]具體的,當(dāng)擠兌位2位時(shí),為保證卡號(hào)從小到大順序生成,則先確定擠兌位第一位數(shù)值,從0-9依次嘗試,擠兌位的第二位則根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前I位的數(shù)值,利用Luhn算法反演而得。
      [0079]當(dāng)擠兌位3位時(shí),為保證卡號(hào)從小到大順序生成,則先確定擠兌位前兩位數(shù)值,從00-99依次嘗試;擠兌位的第三位則根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前2位的數(shù)值,利用Luhn算法反演而得。
      [0080]擠兌位為4,5,6.._,η位的處理方式以此類推。
      [0081 ]針對(duì)第二種情況(包括發(fā)卡地區(qū)碼):
      [0082]當(dāng)擠兌位I位時(shí),根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法反演確定I位擠兌位的數(shù)值。
      [0083]當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼、發(fā)卡地區(qū)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值。
      [0084]具體的,當(dāng)擠兌位2位時(shí),為保證卡號(hào)從小到大順序生成,則先確定擠兌位第一位數(shù)值,從0-9依次嘗試,擠兌位的第二位則根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼、發(fā)卡地區(qū)碼和擠兌位前I位的數(shù)值,利用Luhn算法反演而得。
      [0085]當(dāng)擠兌位3位時(shí),為保證卡號(hào)從小到大順序生成,則先確定擠兌位前兩位數(shù)值,從00-99依次嘗試;擠兌位的第三位則根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼、發(fā)卡地區(qū)碼和擠兌位前2位的數(shù)值,利用Luhn算法反演而得。
      [0086]擠兌位為4,5,6-_,11位的處理方式以此類推。
      [0087]具體實(shí)施時(shí),當(dāng)擠兌位為I位時(shí),其值直接根據(jù)Luhn算法反演而得。Luhn算法驗(yàn)證要求,對(duì)于生成的卡號(hào),從最末位開(kāi)始,每隔一位乘以2,然后累加求和,最后累加校驗(yàn)位后,其結(jié)果模10后余數(shù)應(yīng)為O。因?yàn)楦粑恍璩?,所以存在擠兌位是否乘2兩種情況,即從卡號(hào)最末位(用戶自選位的最后一位)開(kāi)始往前數(shù),確定擠兌位是奇數(shù)位還是偶數(shù)位。以下進(jìn)行分別計(jì)算說(shuō)明:
      [0088]A.當(dāng)擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值?;?,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值。
      [0089]為說(shuō)明方便,以卡號(hào)為19位數(shù)字(包括發(fā)卡地區(qū)碼)進(jìn)行說(shuō)明。如圖5所示,對(duì)于用戶自選尾數(shù)為88888888的19位借記卡號(hào),擠兌位對(duì)安照Luhn算法,在計(jì)算的過(guò)程中是沒(méi)有進(jìn)行乘2操作;且卡號(hào)最后的校驗(yàn)位在Luhn算法驗(yàn)證求和時(shí)也不進(jìn)行乘2操作。因此,我們可以將擠兌位X和校驗(yàn)位的角色互換,按照Luhn算法重新計(jì)算,反演出的校驗(yàn)位的值其實(shí)就是擠兌位的值。
      [0090]擠兌位和校驗(yàn)位角色互換后,按照Luhn算法反演擠兌位過(guò)程如下:
      [0091]SUM=(8*2-9)+8+(8*2-9)+8+(8*2-9)+8+(8*2-9)+8【校驗(yàn)位】+(0*2)+0+(1*2)+0+(1*2)+6+(6*2-9)+1+(2*2)+6 = 84;
      [0092]反演擠兌位=10-(SUM mod 10) = 10-(84mod 10) = 6。即圖5所示用戶自選尾數(shù)為8888888的卡號(hào)值為 “6216610100688888888”。
      [0093]B.當(dāng)擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值。或,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值。
      [0094]為說(shuō)明方便,以卡號(hào)為16位數(shù)字(不包括發(fā)卡地區(qū)碼)進(jìn)行說(shuō)明。如圖6所示,對(duì)于用戶自選尾數(shù)為123456789的9位借記卡號(hào),按照Luhn算法,在計(jì)算的過(guò)程中擠兌位X需進(jìn)行乘2操作,而卡號(hào)最后的校驗(yàn)位在Luhn算法驗(yàn)證求和時(shí)進(jìn)行乘2操作。因此,我們將擠兌位X和校驗(yàn)位的角色互換計(jì)算后需進(jìn)行除2逆向計(jì)算,反演出擠兌位的值。計(jì)算過(guò)程如下:
      [0095]SUM=(8*2-9)+7+(6*2-9)+5+(4*2)+3+(2*2)+l+9【校驗(yàn)位】+6+(6*2-9)+6+(9*2-9)+0+(4*2)=79;
      [0096]10-(SUM mod 10) = 10_(79mod 10) = I,反演擠兌位=(1+9)/2 = 5。
      [0097]舉例說(shuō)明當(dāng)擠兌位2位時(shí),擠兌位的確定算法。
      [0098]為保證卡號(hào)從小到大順序生成,先確定擠兌位第一位數(shù)值,從0-9依次嘗試,第二位則根據(jù)Luhn算法反演而得。如圖7所示,由于X的取值為O至9共10種情況,因此按照Luhn算法符合用戶自選7位尾數(shù)的卡號(hào)理論上存在10個(gè)(不考慮重復(fù)發(fā)號(hào))。當(dāng)X的值固定后,則計(jì)算擠兌位Y時(shí),算法反演過(guò)程同“擠兌位長(zhǎng)度為I位數(shù)”。
      [0099]按照Luhn算法反演計(jì)算符合條件的10個(gè)銀行卡號(hào)分別為:
      [0100]6216610100068888888
      [0101]6216610100118888888
      [0102]6216610100258888888
      [0103]6216610100308888888
      [0104]6216610100498888888
      [0105]6216610100548888888
      [0106]6216610100688888888
      [0107]6216610100738888888
      [0108]6216610100878888888
      [0109]6216610100928888888
      [0110]具體實(shí)施時(shí),銀行卡號(hào)都是按照遞增序號(hào)進(jìn)行發(fā)卡的,因此銀行會(huì)通過(guò)序號(hào)發(fā)生器進(jìn)行計(jì)數(shù),記錄銀行卡號(hào)發(fā)放到哪一個(gè)數(shù)值。在本例中,在確定擠兌位前η-1位的數(shù)值之前,還包括:
      [0111]查詢當(dāng)前序號(hào)發(fā)生器序號(hào);
      [0112]從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。
      [0113]具體的,以卡號(hào)為19位數(shù)字(包括發(fā)卡地區(qū)碼)進(jìn)行說(shuō)明。當(dāng)前序號(hào)發(fā)生器序號(hào)為6216610100065555555。當(dāng)自選號(hào)中擠兌位為兩位時(shí),如圖7所示,其中06為當(dāng)前序號(hào)發(fā)生器序號(hào)中的擠兌位,若用戶自選號(hào)的后幾位為8888888,則自選號(hào)的擠兌位X的數(shù)值可以從O開(kāi)始,擠兌位Y利用Luhn算法反演得到。當(dāng)自選號(hào)中擠兌位為三位時(shí),如圖8所示,其中065為當(dāng)前序號(hào)發(fā)生器序號(hào)中的擠兌位,若用戶自選號(hào)的后幾位為888888,則自選號(hào)的擠兌位XY的數(shù)值可以從06開(kāi)始,擠兌位Z利用Luhn算法反演得到。
      [0114]具體實(shí)施時(shí),在確定了擠兌位的數(shù)值之后,針對(duì)第一種情況(不包括發(fā)卡地區(qū)碼):將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào)。針對(duì)第二種情況(包括發(fā)卡地區(qū)碼):將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。
      [0115]在生成了自選銀行卡號(hào)后,需要將自選銀行卡號(hào)和數(shù)據(jù)庫(kù)中已存的卡號(hào)進(jìn)行比對(duì)查詢,如果自選銀行卡號(hào)和數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,表示該號(hào)碼已發(fā)行,則跳過(guò)該號(hào)碼,防止卡號(hào)重復(fù)發(fā)行,讓用戶重新確定自選位的數(shù)值;或者,請(qǐng)用戶確認(rèn)識(shí)否同意銀行自主修改一位或者幾位自選位的數(shù)值,若用戶同意,銀行通過(guò)上述步驟生成修改一位或者幾位自選位的幾個(gè)銀行卡號(hào),并且生成的幾個(gè)銀行卡號(hào)是可用的,請(qǐng)用戶選擇其中一個(gè)。當(dāng)生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,表示該號(hào)碼未發(fā)行,確定生成的自選銀行卡號(hào)可用。
      [0116]基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種銀行卡號(hào)自選裝置,如下面的實(shí)施例所述。由于銀行卡號(hào)自選裝置解決問(wèn)題的原理與銀行卡號(hào)自選方法相似,因此銀行卡號(hào)自選裝置的實(shí)施可以參見(jiàn)銀行卡號(hào)自選方法的實(shí)施,重復(fù)之處不再贅述。以下所使用的,術(shù)語(yǔ)“單元”或者“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來(lái)實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
      [0117]圖9是一種銀行卡號(hào)自選裝置結(jié)構(gòu)示意圖,如圖9所示,該裝置包括:
      [0?18]自選位數(shù)值確定模塊901,用于用戶自選位的數(shù)值;
      [0119]擠兌位確定模塊902,用于根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之前;
      [0120]自選銀行卡號(hào)生成模塊903,用于將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào);
      [0121]比對(duì)模塊904,用于將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。
      [0122]具體實(shí)施時(shí),擠兌位確定模塊902具體用于:
      [0123]根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值。
      [0124]具體實(shí)施時(shí),擠兌位確定模塊902具體用于:
      [0125]當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值;
      [0126]當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值,其中,η大于等于2,n為整數(shù)。
      [0127]具體實(shí)施時(shí),擠兌位確定模塊902具體用于:
      [0128]當(dāng)一位擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值;所述校驗(yàn)位為用戶自選位的最后一位;
      [0129]當(dāng)一位擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值。
      [0130]具體實(shí)施時(shí),還包括:
      [0131]查詢模塊905,用于查詢當(dāng)前序號(hào)發(fā)生器序號(hào);
      [0132]擠兌位確定模塊902具體用于:
      [0133]從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值加I開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。
      [0134]具體實(shí)施時(shí),擠兌位確定模塊902具體用于:
      [0135]根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法確定擠兌位的數(shù)值;
      [0136]自選銀行卡號(hào)生成模塊903具體用于:
      [0137]將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。
      [0138]綜上所述,本發(fā)明提出的銀行卡號(hào)自選方法及裝置具有如下優(yōu)點(diǎn):
      [0139]1、本發(fā)明能夠有效的解決卡號(hào)自選功能,同時(shí)生成的卡號(hào)滿足LUHN算法校驗(yàn)位規(guī)則;
      [0140]2、本發(fā)明擠兌位的順序選擇可使生成的卡號(hào)滿足升序或降序規(guī)則;
      [0141]3、本發(fā)明通過(guò)與序號(hào)發(fā)生器當(dāng)前序號(hào)比對(duì),能夠快速高效的生成滿足LUHN算法規(guī)則的卡號(hào);再通過(guò)生成的卡號(hào)與數(shù)據(jù)庫(kù)的卡號(hào)進(jìn)行比對(duì)查詢,排除重復(fù)數(shù)據(jù),防止重復(fù)發(fā)卡。
      [0142]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
      [0143]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
      [0144]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
      [0145]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
      [0146]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明實(shí)施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【主權(quán)項(xiàng)】
      1.一種銀行卡號(hào)自選方法,其特征在于,包括: 確定用戶自選位的數(shù)值; 根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之前; 將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào); 將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。2.如權(quán)利要求1所述的銀行卡號(hào)自選方法,其特征在于,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值,包括: 根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值。3.如權(quán)利要求2所述的銀行卡號(hào)自選方法,其特征在于,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值,具體包括: 當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值; 當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前n-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值,其中,η大于等于2,n為整數(shù)。4.如權(quán)利要求3所述的銀行卡號(hào)自選方法,其特征在于,所述當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值,具體包括: 當(dāng)一位擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值;所述校驗(yàn)位為用戶自選位的最后一位; 當(dāng)一位擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值; 所述奇數(shù)位或偶數(shù)位按如下方式確定: 從用戶自選位的最后一位開(kāi)始往前數(shù)。5.如權(quán)利要求3所述的銀行卡號(hào)自選方法,其特征在于,在確定擠兌位前η-1位的數(shù)值之前,還包括: 查詢當(dāng)前序號(hào)發(fā)生器序號(hào); 所述按數(shù)值由小到大的順序確定擠兌位前n-1位的數(shù)值,具體包括: 從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。6.如權(quán)利要求2所述的銀行卡號(hào)自選方法,其特征在于,所述根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值,具體包括: 根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法確定擠兌位的數(shù)值; 所述將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào),具體包括: 將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。7.一種銀行卡號(hào)自選裝置,其特征在于,包括: 自選位數(shù)值確定模塊,用于用戶自選位的數(shù)值; 擠兌位確定模塊,用于根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,確定擠兌位的數(shù)值;在銀行卡號(hào)中預(yù)設(shè)的可自選位中去除用戶自選位后剩余的為擠兌位,擠兌位位于用戶自選位之前; 自選銀行卡號(hào)生成模塊,用于將擠兌位的數(shù)值、用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼組合生成自選銀行卡號(hào); 比對(duì)模塊,用于將生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行卡號(hào)進(jìn)行比對(duì),若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼相同,則重新確定用戶自選位的數(shù)值,若生成的自選銀行卡號(hào)與數(shù)據(jù)庫(kù)中已存的銀行號(hào)碼不同,則確定生成的自選銀行卡號(hào)可用。8.如權(quán)利要求7所述的銀行卡號(hào)自選裝置,其特征在于,所述擠兌位確定模塊具體用于: 根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法確定擠兌位的數(shù)值。9.如權(quán)利要求8所述的銀行卡號(hào)自選裝置,其特征在于,所述擠兌位確定模塊具體用于: 當(dāng)擠兌位的位數(shù)為一位時(shí),根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定一位擠兌位的數(shù)值; 當(dāng)擠兌位的位數(shù)為η位時(shí),按數(shù)值由小到大的順序確定擠兌位前n-1位的數(shù)值,根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和擠兌位前η-1位的數(shù)值,利用Luhn算法反演確定擠兌位第η位的數(shù)值,其中,η大于等于2,n為整數(shù)。10.如權(quán)利要求9所述的銀行卡號(hào)自選裝置,其特征在于,所述擠兌位確定模塊具體用于: 當(dāng)一位擠兌位為奇數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演確定奇數(shù)位擠兌位的數(shù)值;所述校驗(yàn)位為用戶自選位的最后一位; 當(dāng)一位擠兌位為偶數(shù)位時(shí),將擠兌位的數(shù)值和校驗(yàn)位的數(shù)值交換,根據(jù)用戶自選位的數(shù)值和發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼,利用Luhn算法反演后再進(jìn)行除2逆向計(jì)算,確定偶數(shù)位擠兌位的數(shù)值; 所述奇數(shù)位或偶數(shù)位按如下方式確定: 從用戶自選位的最后一位開(kāi)始往前數(shù)。11.如權(quán)利要求9所述的銀行卡號(hào)自選裝置,其特征在于,還包括: 查詢模塊,用于查詢當(dāng)前序號(hào)發(fā)生器序號(hào); 所述擠兌位確定模塊具體用于: 從當(dāng)前序號(hào)發(fā)生器序號(hào)中相應(yīng)的擠兌位的數(shù)值開(kāi)始,按數(shù)值由小到大的順序確定擠兌位前η-1位的數(shù)值。12.如權(quán)利要求8所述的銀行卡號(hào)自選裝置,其特征在于,所述擠兌位確定模塊具體用于: 根據(jù)用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼,利用Luhn算法確定擠兌位的數(shù)值; 所述自選銀行卡號(hào)生成模塊具體用于: 將擠兌位的數(shù)值、用戶自選位的數(shù)值、發(fā)卡機(jī)構(gòu)標(biāo)識(shí)碼和發(fā)卡地區(qū)碼組合生成自選銀行卡號(hào)。
      【文檔編號(hào)】G06Q40/02GK105956921SQ201610349091
      【公開(kāi)日】2016年9月21日
      【申請(qǐng)日】2016年5月24日
      【發(fā)明人】馮春陽(yáng), 楊厚德, 靳佳, 戴雪梅, 許海洋
      【申請(qǐng)人】中國(guó)銀行股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1