業(yè)務(wù)處理方法和裝置的制造方法
【專利摘要】本發(fā)明提出一種業(yè)務(wù)處理方法和裝置,該業(yè)務(wù)處理方法包括:接收用于請求處理業(yè)務(wù)的原文卡號;根據(jù)所述原文卡號計算所述原文卡號對應(yīng)的哈希值,根據(jù)所述原文卡號對應(yīng)的哈希值獲得所述原文卡號對應(yīng)的索引卡號;將所述索引卡號發(fā)送給處理所述業(yè)務(wù)的實(shí)體,以使所述實(shí)體根據(jù)所述索引卡號處理所述業(yè)務(wù)。本發(fā)明為系統(tǒng)中大量的原文卡號分別建立對應(yīng)的索引卡號,確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能保證信用卡號在被加密和經(jīng)常換密的情況下的搜索的便利性。
【專利說明】
業(yè)務(wù)處理方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其設(shè)及一種業(yè)務(wù)處理方法和裝置。
【背景技術(shù)】
[0002] 一個支持信用卡支付的支付系統(tǒng)中,對用戶的信用卡信息,尤其是信用卡號的接 收、傳遞和存儲都有嚴(yán)格的安全要求。按照國際標(biāo)準(zhǔn),對信用卡號等原文信息進(jìn)行處理的支 付系統(tǒng),至少要經(jīng)過支付卡行業(yè)(Payment Card In化star 下簡稱:PCI)認(rèn)證。
[0003] 在進(jìn)行PCI認(rèn)證的過程中,常用的解決方案是為每一個真實(shí)的信用卡號分配一個 虛擬的索引卡號。在對信用卡信息進(jìn)行處理的整個過程中都W該索引卡號代替信用卡原文 卡號進(jìn)行傳遞和存儲。只有在必須使用信用卡原文卡號的地方,才會使用對應(yīng)的原文卡號。 運(yùn)樣可W確保信用卡原文卡號能夠被最少的接觸,且能夠統(tǒng)一控制和管理。
[0004] 但現(xiàn)有技術(shù)中為真實(shí)的信用卡號分配一個虛擬的索引卡號過程,存在W下問題:
[0005] 1、當(dāng)海量用戶同時利用相同的或不同的信用卡進(jìn)行支付,建立索引卡號面臨并發(fā) 問題時,無法避免在并發(fā)情況下為同一張信用卡分配兩個不同的索引卡號;
[0006] 2、按照PCI要求,信用卡的原文卡號不能明文存儲,必須加密。但由于算法和密鑰 的安全限制,信用卡的原文卡號的密文和加密密鑰必須經(jīng)常變更,現(xiàn)有的為信用卡的原文 卡號進(jìn)行加密的方法不能靈活地變更信用卡號密文和密鑰,并且容易產(chǎn)生混亂;
[0007] 3、根據(jù)業(yè)務(wù)的需要,系統(tǒng)需要根據(jù)信用卡原文卡號快速捜索出已經(jīng)加密保存的信 用卡號和對應(yīng)的索引卡號。但現(xiàn)有技術(shù)在查找已經(jīng)加密保存的信用卡號和對應(yīng)的索引卡號 方面的效率較低。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0009] 為此,本發(fā)明的第一個目的在于提出一種業(yè)務(wù)處理方法。通過該方法,為系統(tǒng)中大 量的原文卡號分別建立對應(yīng)的索引卡號,確保高并發(fā)下索引卡號與原文卡號也能絕對一一 對應(yīng),同時還能保證信用卡號在被加密和經(jīng)常換密的情況下的捜索的便利性。
[0010] 本發(fā)明的第二個目的在于提出一種業(yè)務(wù)處理裝置。
[0011] 為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明第一方面實(shí)施例的業(yè)務(wù)處理方法,包括:接收用于請 求處理業(yè)務(wù)的原文卡號;根據(jù)所述原文卡號計算所述原文卡號對應(yīng)的哈希值,根據(jù)所述原 文卡號對應(yīng)的哈希值獲得所述原文卡號對應(yīng)的索引卡號;將所述索引卡號發(fā)送給處理所述 業(yè)務(wù)的實(shí)體,W使所述實(shí)體根據(jù)所述索引卡號處理所述業(yè)務(wù)。
[0012] 本發(fā)明實(shí)施例的業(yè)務(wù)處理方法,接收用于請求處理業(yè)務(wù)的原文卡號之后,根據(jù)上 述原文卡號計算上述原文卡號對應(yīng)的哈希值,再根據(jù)上述原文卡號對應(yīng)的哈希值獲得上述 原文卡號對應(yīng)的索引卡號,從而可W實(shí)現(xiàn)為系統(tǒng)中大量的原文卡號分別建立對應(yīng)的索引卡 號,確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能保證信用卡號在被加 密和經(jīng)常換密的情況下的捜索的便利性。
[0013] 為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明第二方面實(shí)施例的一種業(yè)務(wù)處理裝置,包括:接收模 塊,用于接收用于請求處理業(yè)務(wù)的原文卡號;計算模塊,用于根據(jù)所述接收模塊接收的原 文卡號計算所述原文卡號對應(yīng)的哈希值;獲得模塊,用于根據(jù)所述計算模塊計算的所述原 文卡號對應(yīng)的哈希值獲得所述原文卡號對應(yīng)的索引卡號;發(fā)送模塊,用于將所述獲得模塊 獲得的索引卡號發(fā)送給處理所述業(yè)務(wù)的實(shí)體,W使所述實(shí)體根據(jù)所述索引卡號處理所述業(yè) 務(wù)。
[0014] 本發(fā)明實(shí)施例的業(yè)務(wù)處理裝置,接收模塊接收用于請求處理業(yè)務(wù)的原文卡號之 后,計算模塊根據(jù)上述原文卡號計算上述原文卡號對應(yīng)的哈希值,獲得模塊再根據(jù)上述原 文卡號對應(yīng)的哈希值獲得上述原文卡號對應(yīng)的索引卡號,從而可W實(shí)現(xiàn)為系統(tǒng)中大量的原 文卡號分別建立對應(yīng)的索引卡號,確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng), 同時還能保證信用卡號在被加密和經(jīng)常換密的情況下的捜索的便利性。
[0015] 本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
[0016] 本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變 得明顯和容易理解,其中:
[0017] 圖1為本發(fā)明業(yè)務(wù)處理方法一個實(shí)施例的流程圖;
[0018] 圖2為本發(fā)明業(yè)務(wù)處理方法另一個實(shí)施例的流程圖;
[0019] 圖3為本發(fā)明業(yè)務(wù)處理方法再一個實(shí)施例的流程圖;
[0020] 圖4為本發(fā)明更新密文和密鑰一個實(shí)施例的流程圖;
[0021] 圖5為本發(fā)明業(yè)務(wù)處理裝置一個實(shí)施例的結(jié)構(gòu)示意圖;
[0022] 圖6為本發(fā)明業(yè)務(wù)處理裝置另一個實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023] 下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考 附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反, 本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同 物。
[0024] 圖1為本發(fā)明業(yè)務(wù)處理方法一個實(shí)施例的流程圖,如圖1所示,該業(yè)務(wù)處理方法可 W包括:
[00巧]步驟101,接收用于請求處理業(yè)務(wù)的原文卡號。
[00%] 其中,該原文卡號可W為信用卡卡號。
[0027] 步驟102,根據(jù)上述原文卡號計算上述原文卡號對應(yīng)的哈希值,根據(jù)上述原文卡號 對應(yīng)的哈希值獲得上述原文卡號對應(yīng)的索引卡號。
[0028] 步驟103,將上述索引卡號發(fā)送給處理上述業(yè)務(wù)的實(shí)體,W使上述實(shí)體根據(jù)上述索 引卡號處理上述業(yè)務(wù)。
[0029] 上述實(shí)施例中,接收用于請求處理業(yè)務(wù)的原文卡號之后,根據(jù)上述原文卡號計算 上述原文卡號對應(yīng)的哈希值,再根據(jù)上述原文卡號對應(yīng)的哈希值獲得上述原文卡號對應(yīng)的 索引卡號,從而可W實(shí)現(xiàn)為系統(tǒng)中大量的原文卡號分別建立對應(yīng)的索引卡號,確保高并發(fā) 下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能保證信用卡號在被加密和經(jīng)常換密的 情況下的捜索的便利性。
[0030] 圖2為本發(fā)明業(yè)務(wù)處理方法另一個實(shí)施例的流程圖,如圖2所示,該業(yè)務(wù)處理方法 可W包括:
[0031] 步驟201,接收用于請求處理業(yè)務(wù)的原文卡號。
[0032] 本實(shí)施例中,該原文卡號可W為信用卡卡號。
[0033] 步驟202,根據(jù)上述原文卡號計算上述原文卡號對應(yīng)的哈希值。
[0034] 本實(shí)施例中,哈希值無法逆轉(zhuǎn)為原文卡號,符合PCI規(guī)范。同一張卡的哈希值永遠(yuǎn) 是一樣的,但由于可能會出現(xiàn)哈希碰撞,因此不同卡的哈希值也有可能是一樣的,故簡單根 據(jù)哈希值字段做唯一性約束控制并發(fā)場景下同一張信用卡的寫入,有可能導(dǎo)致兩張哈希值 一樣的信用卡只能有一張能夠被分配和存儲索引卡號。
[0035] 在根據(jù)信用卡號查找記錄時,可根據(jù)查找卡號的哈希值快速查找卡號記錄。由于 有哈希碰撞的可能,因此根據(jù)哈希值查找到的記錄不一定是要找的記錄,故還需要逐一進(jìn) 行對比確認(rèn)。但由于哈希碰撞的幾率非常低,故運(yùn)個查找過程的效率仍然很高。下面會對 上述過程進(jìn)一步詳細(xì)介紹。
[0036] 步驟203,查找數(shù)據(jù)庫中是否存儲有具有上述哈希值的卡號記錄。
[0037] 如果未查找到具有上述哈希值的卡號記錄,則執(zhí)行步驟204 ;如果查找到具有上 述哈希值的卡號記錄,則執(zhí)行步驟212。
[0038] 步驟204,確定上述原文卡號為新卡號,將上述原文卡號對應(yīng)的哈希編號設(shè)置為第 一數(shù)值。
[0039] 本實(shí)施例中,上述第一數(shù)值可W在具體實(shí)現(xiàn)時根據(jù)系統(tǒng)性能和實(shí)現(xiàn)要求等自行設(shè) 定,本實(shí)施例對第一數(shù)值的大小不作限定,舉例來說,第一數(shù)值可W為1。
[0040] 本實(shí)施例中,在所有已存的卡號記錄中,如果沒有出現(xiàn)哈希碰撞的記錄,則哈希編 號為1。在有哈希碰撞的情況下,則哈希編號一次遞增。簡單說,當(dāng)有兩個信用卡號的哈希 值碰撞,則兩條卡號記錄中的哈希值相同,哈希編號則一個為1,另一個為2,更多哈希碰撞 則W此類推。
[0041] 本實(shí)施例中,信用卡號對應(yīng)的哈希值和哈希編號可組合起來作為唯一約束來避免 并發(fā)場景下同一張信用卡被重復(fù)分配索引卡號。
[0042] 步驟205,為上述原文卡號分配索引卡號。
[0043] 步驟206,從密鑰字典中獲取最新密鑰和上述最新密鑰的版本,利用所述最新密鑰 對所述原文卡號進(jìn)行加密,并在加密獲得的密文前端拼接所述最新密鑰的版本,W獲得所 述原文卡號對應(yīng)的密文。
[0044] 步驟207,將分配的索引卡號、上述原文卡號對應(yīng)的密文、上述原文卡號對應(yīng)的哈 希值和上述哈希值對應(yīng)的哈希編號作為上述原文卡號對應(yīng)的卡號記錄存入上述數(shù)據(jù)庫。 W45] 本實(shí)施例中,卡號記錄的格式可W如表1所示。
[0046] 表 1
[0047]
[0048] 本實(shí)施例中,系統(tǒng)按順序?yàn)檫M(jìn)入系統(tǒng)的信用卡進(jìn)行編號,作為該信用卡的索引卡 號。索引卡號在外傳遞和存儲過程中,無法單純根據(jù)該索引卡號還原出信用卡原文卡號,符 合PCI標(biāo)準(zhǔn)。
[0049] 其中,上述原文卡號對應(yīng)的密文包括根據(jù)堆成加密算法對信用卡號加密后生成的 密文,W及在生成的密文的前端拼接的密鑰版本。運(yùn)樣,根據(jù)密鑰版本就可W在密鑰字典中 找到對應(yīng)的密鑰,進(jìn)而可對上述原文卡號對應(yīng)的密文進(jìn)行解密。
[0050] 步驟208,判斷將上述原文卡號對應(yīng)的卡號記錄存入上述數(shù)據(jù)庫的過程中是否違 反哈希值和哈希編號的唯一性約束。如果否,則執(zhí)行步驟209 ;如果將上述原文卡號對應(yīng) 的卡號記錄存入所述數(shù)據(jù)庫的過程中違反了哈希值和哈希編號的唯一性約束,則執(zhí)行步驟 210。
[0051] 步驟209,確定為上述原文卡號分配索引卡號成功,執(zhí)行步驟211。
[0052] 步驟210,確定為上述原文卡號分配索引卡號失敗,返回異常,并提示用戶重試,本 次流程結(jié)束。
[0053] 步驟211,將上述索引卡號發(fā)送給處理上述業(yè)務(wù)的實(shí)體,W使上述實(shí)體根據(jù)上述索 引卡號處理上述業(yè)務(wù)。本次流程結(jié)束。
[0054] 步驟212,獲取查找到的每個卡號記錄中的卡號密文,截取上述卡號密文中的密鑰 版本,根據(jù)上述密鑰版本讀取密鑰字典獲取加密上述卡號密文所使用的密鑰。
[0055] 步驟213,利用上述密鑰解密上述卡號密文獲得每個卡號記錄中的原文卡號,將獲 得的原文卡號逐個與接收的原文卡號進(jìn)行對比。
[0056] 步驟214,判斷獲得的原文卡號中是否存在與接收的原文卡號相同的卡號。如果 是,則執(zhí)行步驟215;如果確定獲得的原文卡號中不存在與接收的原文卡號相同的卡號,貝U 執(zhí)行步驟216。
[0057] 步驟215,從所述相同的卡號所對應(yīng)的卡號記錄中獲得上述接收的原文卡號對應(yīng) 的索引卡號。然后,執(zhí)行步驟211。
[0058] 步驟216,確定接收的原文卡號為新卡號,將上述原文卡號對應(yīng)的哈希編號設(shè)置為 第二數(shù)值。其中,上述第二數(shù)值為查找到的卡號記錄中哈希編號的最大值與預(yù)定數(shù)值之和。
[0059] 本實(shí)施例中,預(yù)定數(shù)值的大小可W在具體實(shí)現(xiàn)時根據(jù)系統(tǒng)性能和實(shí)現(xiàn)要求自行設(shè) 定,本實(shí)施例對預(yù)定數(shù)值的大小不作限定,舉例來說,上述預(yù)定數(shù)值可W為1。
[0060] 然后執(zhí)行步驟205~步驟211。
[0061] 上述實(shí)施例可W實(shí)現(xiàn)為系統(tǒng)中大量的原文卡號分別建立對應(yīng)的索引卡號,確保高 并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能保證信用卡號在被加密和經(jīng)常換 密的情況下的捜索的便利性。
[0062] 圖3為本發(fā)明業(yè)務(wù)處理方法再一個實(shí)施例的流程圖,本實(shí)施例W請求處理的業(yè)務(wù) 為卡號數(shù)據(jù)查詢業(yè)務(wù)為例進(jìn)行說明,如圖3所示,該業(yè)務(wù)處理方法可W包括:
[0063] 步驟301,接收用于請求處理業(yè)務(wù)的原文卡號。
[0064] 本實(shí)施例中,該原文卡號可W為信用卡卡號。
[0065] 步驟302,根據(jù)上述原文卡號計算上述原文卡號對應(yīng)的哈希值。
[0066] 步驟303,查找數(shù)據(jù)庫中是否存儲有具有上述哈希值的卡號記錄。如果查找到具有 上述哈希值的卡號記錄,則執(zhí)行步驟304 ;如果未查找到具有上述哈希值的卡號記錄,則執(zhí) 行步驟309。
[0067] 步驟304,獲取查找到的每個卡號記錄中的卡號密文,截取上述卡號密文中的密鑰 版本,根據(jù)上述密鑰版本讀取密鑰字典獲取加密上述卡號密文所使用的密鑰。
[0068] 步驟305,利用上述密鑰解密上述卡號密文獲得每個卡號記錄中的原文卡號,將獲 得的原文卡號逐個與接收的原文卡號進(jìn)行對比。
[0069] 步驟306,判斷獲得的原文卡號中是否存在與接收的原文卡號相同的卡號。如果 是,則執(zhí)行步驟307;如果確定獲得的原文卡號中不存在與接收的原文卡號相同的卡號,貝U 執(zhí)行步驟309。
[0070] 步驟307,從所述相同的卡號所對應(yīng)的卡號記錄中獲得上述接收的原文卡號對應(yīng) 的索引卡號。
[0071] 步驟308,將上述接收的原文卡號對應(yīng)的索引卡號發(fā)送給處理卡號數(shù)據(jù)查詢業(yè)務(wù) 的實(shí)體,W使上述實(shí)體根據(jù)上述索引卡號查詢上述索引卡號對應(yīng)的卡號數(shù)據(jù),并返回查詢 到的卡號數(shù)據(jù)。本次流程結(jié)束。
[0072] 步驟309,確定數(shù)據(jù)庫中不存在與接收的原文卡號對應(yīng)的卡號記錄,返回空結(jié)果。 本次流程結(jié)束。
[0073] 上述實(shí)施例可W確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能 保證信用卡號在被加密和經(jīng)常換密的情況下的捜索的便利性,提高了捜索的效率。
[0074] 圖2和圖3所示實(shí)施例中原文卡號對應(yīng)的卡號記錄中的密文和加密密鑰需要經(jīng)常 更新,對密文和加密密鑰進(jìn)行更新的過程可W如圖4所示,圖4為本發(fā)明更新密文和密鑰一 個實(shí)施例的流程圖,更新密文和密鑰的過程可W包括:
[00巧]步驟401,遍歷上述數(shù)據(jù)庫中存儲的卡號記錄。
[0076] 步驟402,獲得當(dāng)前遍歷的卡號記錄中的卡號密文,截取上述卡號密文中的密鑰版 本。
[0077] 步驟403,將上述卡號密文中的密鑰版本與從密鑰字典中獲得的最新的密鑰版本 進(jìn)行對比。
[0078] 步驟404,判斷上述卡號密文中的密鑰版本是否為最新的密鑰版本。
[0079] 如果否,則執(zhí)行步驟405 ;如果上述卡號密文中的密鑰版本是最新的密鑰版本,貝U 執(zhí)行步驟408。
[0080] 步驟405,從上述密鑰字典中獲取上述卡號密文中的密鑰版本所對應(yīng)的密鑰,并利 用獲取的密鑰解密上述卡號密文獲得原文卡號。
[0081] 步驟406,從密鑰字典中獲取上述最新的密鑰版本所對應(yīng)的新密鑰,利用上述新密 鑰對上述原文卡號進(jìn)行加密,并將加密獲得的密文與最新的密鑰版本進(jìn)行拼接獲得更新后 的卡號密文。
[0082] 步驟407,將當(dāng)前遍歷的卡號記錄中卡號密文字段的內(nèi)容更新為更新后的卡號密 文。
[0083] 步驟408,判斷是否已遍歷完所有的卡號記錄。如果否,則返回執(zhí)行步驟401 ;如果 已遍歷所有的卡號記錄,則結(jié)束。
[0084] 上述實(shí)施例可W實(shí)現(xiàn)靈活變更卡號記錄中的密文和密鑰,并且不易產(chǎn)生混亂。
[00化]圖5為本發(fā)明業(yè)務(wù)處理裝置一個實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的業(yè)務(wù)處理裝 置可W實(shí)現(xiàn)本發(fā)明圖1所示實(shí)施例的流程,如圖5所示,該業(yè)務(wù)處理裝置可W包括:接收模 塊51、計算模塊52、獲得模塊53和發(fā)送模塊54 ;
[0086] 其中,接收模塊51,用于接收用于請求處理業(yè)務(wù)的原文卡號;其中,該原文卡號可 W為信用卡卡號。
[0087] 計算模塊52,用于根據(jù)接收模塊51接收的原文卡號計算上述原文卡號對應(yīng)的哈 希值。
[0088] 獲得模塊53,用于根據(jù)計算模塊52計算的上述原文卡號對應(yīng)的哈希值獲得上述 原文卡號對應(yīng)的索引卡號。
[0089] 發(fā)送模塊54,用于將獲得模塊53獲得的索引卡號發(fā)送給處理上述業(yè)務(wù)的實(shí)體,W 使上述實(shí)體根據(jù)上述索引卡號處理上述業(yè)務(wù)。
[0090] 上述實(shí)施例中,接收模塊51接收用于請求處理業(yè)務(wù)的原文卡號之后,計算模塊52 根據(jù)上述原文卡號計算上述原文卡號對應(yīng)的哈希值,獲得模塊53再根據(jù)上述原文卡號對 應(yīng)的哈希值獲得上述原文卡號對應(yīng)的索引卡號,從而可W實(shí)現(xiàn)為系統(tǒng)中大量的原文卡號分 別建立對應(yīng)的索引卡號,確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能 保證信用卡號在被加密和經(jīng)常換密的情況下的捜索的便利性。
[0091] 圖6為本發(fā)明業(yè)務(wù)處理裝置另一個實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的業(yè)務(wù)處理 裝置可W實(shí)現(xiàn)本發(fā)明圖2、圖3和圖4所示實(shí)施例的流程,與圖5所示的業(yè)務(wù)處理裝置相比, 不同之處在于,圖6所示的業(yè)務(wù)處理裝置中,獲得模塊53可W包括:查找子模塊531、確定 子模塊532、分配子模塊533、加密子模塊534和存儲子模塊535 ;
[0092] 其中,查找子模塊531,用于查找數(shù)據(jù)庫中是否存儲有具有上述哈希值的卡號記 錄。
[0093] 確定子模塊532,用于當(dāng)查找子模塊531未查找到具有上述哈希值的卡號記錄時, 確定上述原文卡號為新卡號。
[0094] 分配子模塊533,用于在確定子模塊532確定上述原文卡號為新卡號之后,將上述 原文卡號對應(yīng)的哈希編號設(shè)置為第一數(shù)值,并為上述原文卡號分配索引卡號;本實(shí)施例中, 上述第一數(shù)值可W在具體實(shí)現(xiàn)時根據(jù)系統(tǒng)性能和實(shí)現(xiàn)要求等自行設(shè)定,本實(shí)施例對第一數(shù) 值的大小不作限定,舉例來說,第一數(shù)值可W為1。
[0095] 加密子模塊534,用于從密鑰字典中獲取最新密鑰和上述最新密鑰的版本,利用最 新密鑰對原文卡號進(jìn)行加密,并在加密獲得的密文前端拼接最新密鑰的版本,W獲得上述 原文卡號對應(yīng)的密文。
[0096] 存儲子模塊535,用于將分配子模塊533分配的索引卡號、加密子模塊534獲得的 原文卡號對應(yīng)的密文、上述原文卡號對應(yīng)的哈希值和上述哈希值對應(yīng)的哈希編號作為原文 卡號對應(yīng)的卡號記錄存入上述數(shù)據(jù)庫。
[0097] 確定子模塊532,還用于當(dāng)存儲子模塊535將上述原文卡號對應(yīng)的卡號記錄存入 上述數(shù)據(jù)庫的過程中未違反哈希值和哈希編號的唯一性約束時,確定為原文卡號分配索引 卡號成功。
[0098] 本實(shí)施例中,獲得模塊53還可W包括:獲取子模塊536、解密子模塊537和對比子 模塊538 ;
[0099] 其中,獲取子模塊536,用于當(dāng)查找子模塊531查找到具有上述哈希值的卡號記錄 時,獲取查找到的每個卡號記錄中的卡號密文,截取上述卡號密文中的密鑰版本,根據(jù)上述 密鑰版本讀取密鑰字典獲取加密上述卡號密文所使用的密鑰;
[0100] 解密子模塊537,用于利用獲取子模塊536獲取的密鑰解密上述卡號密文獲得每 個卡號記錄中的原文卡號; 陽101] 對比子模塊538,用于將解密子模塊537獲得的原文卡號逐個與接收的原文卡號 進(jìn)行對比; 陽102] 獲取子模塊536,還用于當(dāng)對比子模塊538確定解密子模塊537獲得的原文卡號中 存在與接收的原文卡號相同的卡號時,從上述相同的卡號所對應(yīng)的卡號記錄中獲得上述接 收的原文卡號對應(yīng)的索引卡號。
[0103] 進(jìn)一步地,獲得模塊53還可W包括:設(shè)置子模塊539 ; 陽104] 確定子模塊532,還用于當(dāng)對比子模塊538確定解密子模塊537獲得的原文卡號中 不存在與接收的原文卡號相同的卡號時,確定接收的原文卡號為新卡號; 陽105] 設(shè)置子模塊539,用于將上述原文卡號對應(yīng)的哈希編號設(shè)置為第二數(shù)值,上述第二 數(shù)值為查找到的卡號記錄中哈希編號的最大值與預(yù)定數(shù)值之和。然后再由分配子模塊533、 加密子模塊534和存儲子模塊535執(zhí)行后續(xù)獲得索引卡號的流程。 陽106] 本實(shí)施例中,預(yù)定數(shù)值的大小可W在具體實(shí)現(xiàn)時根據(jù)系統(tǒng)性能和實(shí)現(xiàn)要求自行設(shè) 定,本實(shí)施例對預(yù)定數(shù)值的大小不作限定,舉例來說,上述預(yù)定數(shù)值可W為1。 陽107] 本實(shí)施例中,上述業(yè)務(wù)可W為卡號數(shù)據(jù)查詢業(yè)務(wù);運(yùn)時,發(fā)送模塊54,具體用于將 獲得模塊53獲得的索引卡號發(fā)送給處理上述卡號數(shù)據(jù)查詢業(yè)務(wù)的實(shí)體,W使上述實(shí)體根 據(jù)上述索引卡號查詢上述索引卡號對應(yīng)的卡號數(shù)據(jù),并返回查詢到的卡號數(shù)據(jù)。
[0108] 進(jìn)一步地,獲得模塊53還可W包括:遍歷子模塊5310、獲取子模塊536、對比子模 塊538、解密子模塊537、加密子模塊534和更新子模塊5311 ; 陽109] 遍歷子模塊5310,用于遍歷上述數(shù)據(jù)庫中存儲的卡號記錄;
[0110] 獲取子模塊536,用于獲得遍歷子模塊5310當(dāng)前遍歷的卡號記錄中的卡號密文, 截取上述卡號密文中的密鑰版本; 陽111] 對比子模塊538,用于將獲取子模塊536獲得的密鑰版本與從上述密鑰字典中獲 得的最新的密鑰版本進(jìn)行對比;
[0112] 獲取子模塊536,還用于當(dāng)對比子模塊538確定獲取子模塊536獲得的密鑰版本不 是最新的密鑰版本時,從上述密鑰字典中獲取所述卡號密文中的密鑰版本所對應(yīng)的密鑰; W及在解密子模塊537獲得原文卡號之后,從上述密鑰字典中獲取上述最新的密鑰版本所 對應(yīng)的新密鑰;
[0113] 解密子模塊537,用于利用獲取子模塊536獲取的密鑰解密上述卡號密文獲得原 文卡號;
[0114] 加密子模塊534,用于利用獲取子模塊536獲取的新密鑰對解密子模塊537獲得的 原文卡號進(jìn)行加密,并將加密獲得的密文與上述最新的密鑰版本進(jìn)行拼接獲得更新后的卡 號密文;
[0115] 更新子模塊5311,用于將遍歷子模塊5310當(dāng)前遍歷的卡號記錄中卡號密文字段 的內(nèi)容更新為加密子模塊534獲得的更新后的卡號密文。
[0116] 上述業(yè)務(wù)處理裝置可W實(shí)現(xiàn)為系統(tǒng)中大量的原文卡號分別建立對應(yīng)的索引卡號, 確保高并發(fā)下索引卡號與原文卡號也能絕對一一對應(yīng),同時還能保證信用卡號在被加密和 經(jīng)常換密的情況下的捜索的便利性。
[0117] 需要說明的是,在本發(fā)明的描述中,術(shù)語"第一"、"第二"等僅用于描述目的,而不 能理解為指示或暗示相對重要性。此外,在本發(fā)明的描述中,除非另有說明,"多個"的含義 是兩個或兩個W上。
[0118] 流程圖中或在此W其他方式描述的任何過程或方法描述可W被理解為,表示包括 一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可W不按所示出或討論的順 序,包括根據(jù)所設(shè)及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,運(yùn)應(yīng)被本發(fā)明 的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0119] 應(yīng)當(dāng)理解,本發(fā)明的各部分可W用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上 述實(shí)施方式中,多個步驟或方法可W用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的 軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公 知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏 輯口電路的離散邏輯電路,具有合適的組合邏輯口電路的專用集成電路,可編程口陣列 (Programm油le Gate Array;W下簡稱:PGA),現(xiàn)場可編程口陣列(Field Programm油le Gate Array 下簡稱:FPGA)等。
[0120] 本技術(shù)領(lǐng)域的普通技術(shù)人員可W理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步 驟是可W通過程序來指令相關(guān)的硬件完成,所述的程序可W存儲于一種計算機(jī)可讀存儲介 質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。 陽121] 此外,本發(fā)明各個實(shí)施例中的各功能模塊可W集成在一個處理模塊中,也可W是 各個模塊單獨(dú)物理存在,也可W兩個或兩個W上模塊集成在一個模塊中。上述集成的模塊 既可W采用硬件的形式實(shí)現(xiàn),也可W采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果 W軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可W存儲在一個計算機(jī)可 讀取存儲介質(zhì)中。
[0122] 上述提到的存儲介質(zhì)可W是只讀存儲器,磁盤或光盤等。
[0123] 在本說明書的描述中,參考術(shù)語"一個實(shí)施例"、"一些實(shí)施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可W在任何 的一個或多個實(shí)施例或示例中W合適的方式結(jié)合。
[0124] 盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可W理解的是,上述實(shí)施例是示例 性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可W對上述 實(shí)施例進(jìn)行變化、修改、替換和變型。
【主權(quán)項(xiàng)】
1. 一種業(yè)務(wù)處理方法,其特征在于,包括: 接收用于請求處理業(yè)務(wù)的原文卡號; 根據(jù)所述原文卡號計算所述原文卡號對應(yīng)的哈希值,根據(jù)所述原文卡號對應(yīng)的哈希值 獲得所述原文卡號對應(yīng)的索引卡號; 將所述索引卡號發(fā)送給處理所述業(yè)務(wù)的實(shí)體,以使所述實(shí)體根據(jù)所述索引卡號處理所 述業(yè)務(wù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述原文卡號對應(yīng)的哈希值獲 得所述原文卡號對應(yīng)的索引卡號包括: 查找數(shù)據(jù)庫中是否存儲有具有所述哈希值的卡號記錄; 如果未查找到具有所述哈希值的卡號記錄,則確定所述原文卡號為新卡號,將所述原 文卡號對應(yīng)的哈希編號設(shè)置為第一數(shù)值,并為所述原文卡號分配索引卡號,以及從密鑰字 典中獲取最新密鑰和所述最新密鑰的版本,利用所述最新密鑰對所述原文卡號進(jìn)行加密, 并在加密獲得的密文前端拼接所述最新密鑰的版本,以獲得所述原文卡號對應(yīng)的密文; 將分配的索引卡號、所述原文卡號對應(yīng)的密文、所述原文卡號對應(yīng)的哈希值和所述哈 希值對應(yīng)的哈希編號作為所述原文卡號對應(yīng)的卡號記錄存入所述數(shù)據(jù)庫; 如果將所述原文卡號對應(yīng)的卡號記錄存入所述數(shù)據(jù)庫的過程中未違反哈希值和哈希 編號的唯一性約束,則確定為所述原文卡號分配索引卡號成功。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述查找數(shù)據(jù)庫中是否存儲有具有所述 哈希值的卡號記錄之后,還包括: 如果查找到具有所述哈希值的卡號記錄,則獲取查找到的每個卡號記錄中的卡號密 文,截取所述卡號密文中的密鑰版本,根據(jù)所述密鑰版本讀取密鑰字典獲取加密所述卡號 密文所使用的密鑰; 利用所述密鑰解密所述卡號密文獲得每個卡號記錄中的原文卡號,將獲得的原文卡 號逐個與接收的原文卡號進(jìn)行對比,當(dāng)確定獲得的原文卡號中存在與接收的原文卡號相同 的卡號時,從所述相同的卡號所對應(yīng)的卡號記錄中獲得所述接收的原文卡號對應(yīng)的索引卡 號。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將獲得的原文卡號逐個與接收的原 文卡號進(jìn)行對比之后,還包括: 當(dāng)確定獲得的原文卡號中不存在與接收的原文卡號相同的卡號時,確定接收的原文卡 號為新卡號,將所述原文卡號對應(yīng)的哈希編號設(shè)置為第二數(shù)值,所述第二數(shù)值為查找到的 卡號記錄中哈希編號的最大值與預(yù)定數(shù)值之和; 為所述原文卡號分配索引卡號,以及從密鑰字典中獲取最新密鑰和所述最新密鑰的版 本,利用所述最新密鑰對所述原文卡號進(jìn)行加密,并在加密獲得的密文前端拼接所述最新 密鑰的版本,以獲得所述原文卡號對應(yīng)的密文; 將分配的索引卡號、所述原文卡號對應(yīng)的密文、所述原文卡號對應(yīng)的哈希值和所述哈 希值對應(yīng)的哈希編號作為所述原文卡號對應(yīng)的卡號記錄存入所述數(shù)據(jù)庫; 如果將所述原文卡號對應(yīng)的卡號記錄存入所述數(shù)據(jù)庫的過程中未違反哈希值和哈希 編號的唯一性約束,則確定為所述原文卡號分配索引卡號成功。5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述業(yè)務(wù)包括卡號數(shù)據(jù)查詢業(yè)務(wù); 所述將所述索引卡號發(fā)送給處理所述業(yè)務(wù)的實(shí)體,以使所述實(shí)體根據(jù)所述索引卡號處 理所述業(yè)務(wù)包括: 將所述接收的原文卡號對應(yīng)的索引卡號發(fā)送給處理所述卡號數(shù)據(jù)查詢業(yè)務(wù)的實(shí)體,以 使所述實(shí)體根據(jù)所述索引卡號查詢所述索引卡號對應(yīng)的卡號數(shù)據(jù),并返回查詢到的卡號數(shù) 據(jù)。6. 根據(jù)權(quán)利要求2-4任意一項(xiàng)所述的方法,其特征在于,還包括: 遍歷所述數(shù)據(jù)庫中存儲的卡號記錄; 獲得當(dāng)前遍歷的卡號記錄中的卡號密文,截取所述卡號密文中的密鑰版本; 將所述卡號密文中的密鑰版本與從所述密鑰字典中獲得的最新的密鑰版本進(jìn)行對 比; 如果所述卡號密文中的密鑰版本不是最新的密鑰版本,則從所述密鑰字典中獲取所 述卡號密文中的密鑰版本所對應(yīng)的密鑰,并利用獲取的密鑰解密所述卡號密文獲得原文卡 號; 從所述密鑰字典中獲取所述最新的密鑰版本所對應(yīng)的新密鑰,利用所述新密鑰對所述 原文卡號進(jìn)行加密,并將加密獲得的密文與所述最新的密鑰版本進(jìn)行拼接獲得更新后的卡 號密文; 將當(dāng)前遍歷的卡號記錄中卡號密文字段的內(nèi)容更新為所述更新后的卡號密文。7. -種業(yè)務(wù)處理裝置,其特征在于,包括: 接收模塊,用于接收用于請求處理業(yè)務(wù)的原文卡號; 計算模塊,用于根據(jù)所述接收模塊接收的原文卡號計算所述原文卡號對應(yīng)的哈希值; 獲得模塊,用于根據(jù)所述計算模塊計算的所述原文卡號對應(yīng)的哈希值獲得所述原文卡 號對應(yīng)的索引卡號; 發(fā)送模塊,用于將所述獲得模塊獲得的索引卡號發(fā)送給處理所述業(yè)務(wù)的實(shí)體,以使所 述實(shí)體根據(jù)所述索引卡號處理所述業(yè)務(wù)。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲得模塊包括: 查找子模塊,用于查找數(shù)據(jù)庫中是否存儲有具有所述哈希值的卡號記錄; 確定子模塊,用于當(dāng)所述查找子模塊未查找到具有所述哈希值的卡號記錄時,確定所 述原文卡號為新卡號; 分配子模塊,用于在所述確定子模塊確定所述原文卡號為新卡號之后,將所述原文卡 號對應(yīng)的哈希編號設(shè)置為第一數(shù)值,并為所述原文卡號分配索引卡號; 加密子模塊,用于從密鑰字典中獲取最新密鑰和所述最新密鑰的版本,利用所述最新 密鑰對所述原文卡號進(jìn)行加密,并在加密獲得的密文前端拼接所述最新密鑰的版本,以獲 得所述原文卡號對應(yīng)的密文; 存儲子模塊,用于將所述分配子模塊分配的索引卡號、所述加密子模塊獲得的所述原 文卡號對應(yīng)的密文、所述原文卡號對應(yīng)的哈希值和所述哈希值對應(yīng)的哈希編號作為所述原 文卡號對應(yīng)的卡號記錄存入所述數(shù)據(jù)庫; 所述確定子模塊,還用于當(dāng)所述存儲子模塊將所述原文卡號對應(yīng)的卡號記錄存入所述 數(shù)據(jù)庫的過程中未違反哈希值和哈希編號的唯一性約束時,確定為所述原文卡號分配索引 卡號成功。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲得模塊還包括: 獲取子模塊,用于當(dāng)所述查找子模塊查找到具有所述哈希值的卡號記錄時,獲取查找 到的每個卡號記錄中的卡號密文,截取所述卡號密文中的密鑰版本,根據(jù)所述密鑰版本讀 取密鑰字典獲取加密所述卡號密文所使用的密鑰; 解密子模塊,用于利用所述獲取子模塊獲取的密鑰解密所述卡號密文獲得每個卡號記 錄中的原文卡號; 對比子模塊,用于將所述解密子模塊獲得的原文卡號逐個與接收的原文卡號進(jìn)行對 比; 所述獲取子模塊,還用于當(dāng)所述對比子模塊確定所述解密子模塊獲得的原文卡號中存 在與接收的原文卡號相同的卡號時,從所述相同的卡號所對應(yīng)的卡號記錄中獲得所述接收 的原文卡號對應(yīng)的索引卡號。10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述獲得模塊還包括:設(shè)置子模塊; 所述確定子模塊,還用于當(dāng)所述對比子模塊確定所述解密子模塊獲得的原文卡號中不 存在與接收的原文卡號相同的卡號時,確定接收的原文卡號為新卡號; 所述設(shè)置子模塊,用于將所述原文卡號對應(yīng)的哈希編號設(shè)置為第二數(shù)值,所述第二數(shù) 值為查找到的卡號記錄中哈希編號的最大值與預(yù)定數(shù)值之和。11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述業(yè)務(wù)包括卡號數(shù)據(jù)查詢業(yè)務(wù); 所述發(fā)送模塊,具體用于將所述獲得模塊獲得的索引卡號發(fā)送給處理所述卡號數(shù)據(jù)查 詢業(yè)務(wù)的實(shí)體,以使所述實(shí)體根據(jù)所述索引卡號查詢所述索引卡號對應(yīng)的卡號數(shù)據(jù),并返 回查詢到的卡號數(shù)據(jù)。12. 根據(jù)權(quán)利要求8-10任意一項(xiàng)所述的裝置,其特征在于,所述獲得模塊還包括:遍歷 子模塊、獲取子模塊、對比子模塊、解密子模塊、加密子模塊和更新子模塊; 所述遍歷子模塊,用于遍歷所述數(shù)據(jù)庫中存儲的卡號記錄; 所述獲取子模塊,用于獲得所述遍歷子模塊當(dāng)前遍歷的卡號記錄中的卡號密文,截取 所述卡號密文中的密鑰版本; 所述對比子模塊,用于將所述獲取子模塊獲得的密鑰版本與從所述密鑰字典中獲得的 最新的密鑰版本進(jìn)行對比; 所述獲取子模塊,還用于當(dāng)所述對比子模塊確定所述獲取子模塊獲得的密鑰版本不是 最新的密鑰版本時,從所述密鑰字典中獲取所述卡號密文中的密鑰版本所對應(yīng)的密鑰;以 及在所述解密子模塊獲得原文卡號之后,從所述密鑰字典中獲取所述最新的密鑰版本所對 應(yīng)的新密鑰; 所述解密子模塊,用于利用所述獲取子模塊獲取的密鑰解密所述卡號密文獲得原文卡 號; 所述加密子模塊,用于利用所述獲取子模塊獲取的新密鑰對所述解密子模塊獲得的原 文卡號進(jìn)行加密,并將加密獲得的密文與所述最新的密鑰版本進(jìn)行拼接獲得更新后的卡號 密文; 所述更新子模塊,用于將所述遍歷子模塊當(dāng)前遍歷的卡號記錄中卡號密文字段的內(nèi)容 更新為所述加密子模塊獲得的更新后的卡號密文。
【文檔編號】G06Q20/34GK105825371SQ201510007411
【公開日】2016年8月3日
【申請日】2015年1月7日
【發(fā)明人】尹俊
【申請人】阿里巴巴集團(tuán)控股有限公司