電子券的券碼生成方法、裝置及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種電子券的券碼生成方法、裝置及服務(wù)器。
【背景技術(shù)】
[0002]電子券是線上發(fā)放的一種電子消費(fèi)憑證,其通過電子形式發(fā)送至用戶對(duì)應(yīng)的終端。電子券的券碼是能夠唯一映射到某一電子券的隨機(jī)數(shù)字序列碼,用于唯一識(shí)別某一電子券。用戶使用電子券時(shí),通過輸入電子券的券碼實(shí)現(xiàn)。由于電子券與用戶的財(cái)產(chǎn)相關(guān),且電子券的券碼用于唯一識(shí)別電子券,為了保證電子券的安全性,需要提出一種電子券的券碼生成方法。
[0003]相關(guān)技術(shù)在生成電子券的券碼時(shí),所采用的方法為:獲取預(yù)先為電子券分配的一個(gè)全局唯一的遞增序列,并獲取商戶前綴、日期等信息,將該遞增序列與商戶前綴及日期信息等進(jìn)行組合,得到電子券的券碼。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問題:
[0005]由于相關(guān)技術(shù)直接將遞增序列及商戶前綴、日期等信息的組合碼作為電子券的券碼,因此,惡意用戶通過已有券碼可以比較容易地推算出或破解出其他用戶的券碼。由于電子券在使用時(shí)以券碼為依據(jù),因此,容易導(dǎo)致其他用戶的電子券被盜用或冒用,導(dǎo)致使用該種券碼標(biāo)識(shí)電子券時(shí),電子券的安全性不高。
【發(fā)明內(nèi)容】
[0006]為了解決相關(guān)技術(shù)的問題,本發(fā)明實(shí)施例提供了一種電子券的券碼生成方法、裝置及服務(wù)器。所述技術(shù)方案如下:
[0007]第一方面,提供了一種電子券的券碼生成方法,所述方法包括:
[0008]獲取預(yù)先為電子券分配的全局唯一的遞增序列;
[0009]根據(jù)用戶的業(yè)務(wù)賬號(hào)獲取用戶標(biāo)識(shí)序列;
[0010]獲取一個(gè)第一隨機(jī)值,并獲取預(yù)設(shè)的與所述第一隨機(jī)值對(duì)應(yīng)的第一密碼,其中,預(yù)設(shè)的每條密碼由預(yù)設(shè)數(shù)值位數(shù)字組成;
[0011]通過所述第一密碼對(duì)所述第一隨機(jī)值、所述遞增序列及所述用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算,得到所述電子券的券碼。
[0012]第二方面,提供了一種電子券的券碼生成裝置,所述裝置包括:
[0013]第一獲取模塊,用于獲取預(yù)先為電子券分配的全局唯一的遞增序列;
[0014]第二獲取模塊,用于根據(jù)用戶的業(yè)務(wù)賬號(hào)獲取用戶標(biāo)識(shí)序列;
[0015]第三獲取模塊,用于獲取一個(gè)第一隨機(jī)值;
[0016]第四獲取模塊,用于獲取預(yù)設(shè)的與所述第一隨機(jī)值對(duì)應(yīng)的第一密碼,其中,預(yù)設(shè)的每條密碼由預(yù)設(shè)數(shù)值位數(shù)字組成;
[0017]加密模塊,用于通過所述第一密碼對(duì)所述第一隨機(jī)值、所述遞增序列及所述用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算,得到所述電子券的券碼。
[0018]第三方面,提供了一種電子券的券碼生成服務(wù)器,所述服務(wù)器包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行,所述一個(gè)或者一個(gè)以上程序包含用于執(zhí)行以下操作的指令:
[0019]獲取預(yù)先為電子券分配的全局唯一的遞增序列;
[0020]根據(jù)用戶的業(yè)務(wù)賬號(hào)獲取用戶標(biāo)識(shí)序列;
[0021]獲取一個(gè)第一隨機(jī)值,并獲取預(yù)設(shè)的與所述第一隨機(jī)值對(duì)應(yīng)的第一密碼,其中,預(yù)設(shè)的每條密碼由預(yù)設(shè)數(shù)值位數(shù)字組成;
[0022]通過所述第一密碼對(duì)所述第一隨機(jī)值、所述遞增序列及所述用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算,得到所述電子券的券碼。
[0023]本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:
[0024]通過獲取與預(yù)設(shè)的第一隨機(jī)值對(duì)應(yīng)的第一密碼,并通過第一密碼對(duì)遞增序列、第一隨機(jī)值及用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算來生成券碼,使用與第一隨機(jī)值對(duì)應(yīng)的第一密碼進(jìn)行加密運(yùn)算后,根據(jù)已有券碼不容易推算其他用戶的券碼,生成的券碼具有更高的安全性。
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0026]圖1是本發(fā)明一實(shí)施例提供的一種電子券的券碼生成方法的流程圖;
[0027]圖2是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成方法的流程圖;
[0028]圖3是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成裝置的結(jié)構(gòu)示意圖;
[0029]圖4是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成裝置的結(jié)構(gòu)示意圖;
[0030]圖5是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成裝置的結(jié)構(gòu)示意圖;
[0031]圖6是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成裝置的結(jié)構(gòu)示意圖;
[0032]圖7是本發(fā)明另一實(shí)施例提供的一種電子券的券碼生成裝置的結(jié)構(gòu)示意圖;
[0033]圖8是本發(fā)明另一實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0035]圖1是根據(jù)一示例性實(shí)施例提供的一種電子券的券碼生成方法的流程圖。參見圖1,本發(fā)明實(shí)施例提供的方法流程包括:
[0036]101:獲取預(yù)先為電子券分配的全局唯一的遞增序列。
[0037]102:根據(jù)用戶的業(yè)務(wù)賬號(hào)獲取用戶標(biāo)識(shí)序列。
[0038]103:獲取一個(gè)第一隨機(jī)值,并獲取預(yù)設(shè)的與第一隨機(jī)值對(duì)應(yīng)的第一密碼,其中,預(yù)設(shè)的每條密碼由預(yù)設(shè)數(shù)值位數(shù)字組成。
[0039]可選地,獲取一個(gè)第一隨機(jī)值之后,還包括:
[0040]將第一隨機(jī)值與遞增序列組合為電子券的標(biāo)識(shí),并將組合到的電子券的標(biāo)識(shí)存儲(chǔ)至用戶標(biāo)識(shí)序列對(duì)應(yīng)的數(shù)據(jù)庫(kù),作為后續(xù)驗(yàn)證電子券的有效性的依據(jù)。
[0041]104:通過第一密碼對(duì)第一隨機(jī)值、遞增序列及用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算,得到電子券的券碼。
[0042]可選地,通過第一密碼對(duì)第一隨機(jī)值、遞增序列及用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算,包括:
[0043]使用第一密碼中的第一預(yù)設(shè)位置處的每位數(shù)字對(duì)用戶標(biāo)識(shí)序列的每位數(shù)字進(jìn)行求模,得到第一模值,第一預(yù)設(shè)位置處包含數(shù)字的位數(shù)與用戶標(biāo)識(shí)序列包含數(shù)字的位數(shù)相同;
[0044]根據(jù)第一密碼中的第二預(yù)設(shè)位置處的數(shù)字對(duì)第一模值進(jìn)行定位定義,得到第一定位序列;
[0045]根據(jù)用戶標(biāo)識(shí)序列和第一模值確定第二隨機(jī)值,并獲取預(yù)設(shè)的與第二隨機(jī)值對(duì)應(yīng)的第二密碼;
[0046]使用第二密碼中的第三預(yù)設(shè)位置處的每位數(shù)字對(duì)遞增序列的每位數(shù)字進(jìn)行求模,得到第二模值,第三預(yù)設(shè)位置處包括數(shù)字的位數(shù)與遞增序列包含數(shù)字的位數(shù)相同;
[0047]根據(jù)第二密碼中的第四預(yù)設(shè)位置處的數(shù)字對(duì)第二模值進(jìn)行定位定義,得到第二定位序列;
[0048]根據(jù)第二定位序列離散第二模值,得到第一券碼序列,并根據(jù)第一定位序列將第一模值離散至第一券碼序列中,得到第二券碼序列,將第二券碼序列作為對(duì)電子券進(jìn)行加密運(yùn)算得到的券碼。
[0049]可選地,生成電子券的券碼之后,還包括:
[0050]接收用戶標(biāo)識(shí)序列對(duì)應(yīng)的終端發(fā)送的券碼更新請(qǐng)求;
[0051]根據(jù)券碼更新請(qǐng)求返回獲取一個(gè)第一隨機(jī)值的步驟,直至重新生成電子券的新的券碼后,將新的券碼作為電子券的券碼。
[0052]可選地,生成電子券的券碼之后,還包括:
[0053]獲取用戶使用電子券時(shí)輸入的券碼;
[0054]對(duì)輸入的券碼進(jìn)行解密,得到輸入的券碼對(duì)應(yīng)的遞增序列、第一隨機(jī)值及用戶標(biāo)識(shí)序列;
[0055]根據(jù)第一隨機(jī)值及遞增序列查詢用戶標(biāo)識(shí)序列對(duì)應(yīng)的數(shù)據(jù)庫(kù),確定電子券是否有效;
[0056]如果確定電子券有效,則允許用戶使用電子券。
[0057]可選地,允許用戶使用電子券之后,還包括:
[0058]向用戶標(biāo)識(shí)序列對(duì)應(yīng)的移動(dòng)終端發(fā)送使用電子券的提示信息;
[0059]確定是否接收到移動(dòng)終端返回的確認(rèn)使用消息;
[0060]如果接收到移動(dòng)終端返回的確認(rèn)使用消息,則消費(fèi)電子券。
[0061]本發(fā)明實(shí)施例提供的方法,通過獲取與預(yù)設(shè)的第一隨機(jī)值對(duì)應(yīng)的第一密碼,并通過第一密碼對(duì)遞增序列、第一隨機(jī)值及用戶標(biāo)識(shí)序列進(jìn)行加密運(yùn)算來生成券碼,使用與第一隨機(jī)值對(duì)應(yīng)的第一密碼進(jìn)行加密運(yùn)算后,根據(jù)已有券碼不容易推算其他用戶的券碼,生成的券碼具有更高的安全性。
[0062]結(jié)合上述圖1所示實(shí)施例提供的電子券的券碼生成方法,圖2根據(jù)一示例性實(shí)施例提供了一種電子券的券碼生成方法。參見圖2,本發(fā)明實(shí)施例提供的方法流程包括:
[0063]201:獲取預(yù)先為電子券分配的全局唯一的遞增序列。
[0064]由于針對(duì)于某一業(yè)務(wù)的電子券,往往有一定的數(shù)量和順序。又為了使得用券碼標(biāo)識(shí)的電子券具有唯一性,需要保證券碼中具備能夠使電子券具有唯一性的數(shù)字序列。因此,本發(fā)明實(shí)施例在生成電子券的券碼時(shí),用全局唯一的序列標(biāo)識(shí)電子券的唯一性,用遞增序列標(biāo)識(shí)電子券的順序,因此,需要獲取預(yù)先為電子券分配的全局唯一的遞增序列。通過獲取預(yù)先為電子券分配的全局唯一的遞增序列,能夠保證后續(xù)生成的電子券的唯一性。
[0065]例如,如果針對(duì)于某業(yè)務(wù)要生成1000個(gè)電子券,則會(huì)預(yù)先設(shè)置1000個(gè)遞增序列,因此,在生成每個(gè)券碼時(shí),從預(yù)先設(shè)置的1000個(gè)遞增序列中選擇一個(gè)遞增序列