本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種標(biāo)識(shí)信息的生成方法和裝置。
背景技術(shù):
標(biāo)識(shí)信息是一種身份憑證,比如,票據(jù),是用戶與服務(wù)器之間數(shù)據(jù)交互的依賴。在響應(yīng)服務(wù)器的請(qǐng)求時(shí),只有在標(biāo)識(shí)信息校驗(yàn)合法的請(qǐng)求才能通過(guò),非法的請(qǐng)求會(huì)一律拒絕。
標(biāo)識(shí)信息的幾個(gè)基本要素包括:安全性、穩(wěn)定性和效率。其中,安全性根據(jù)業(yè)務(wù)對(duì)安全性的要求級(jí)別而定,穩(wěn)定性是標(biāo)識(shí)信息需要相當(dāng)高的穩(wěn)定性。
目前生成票據(jù)的方法很多,但基本上可以分為兩種:有狀態(tài)票據(jù)和無(wú)狀態(tài)票據(jù)。其中,有狀態(tài)票據(jù)是指根據(jù)用戶的信息來(lái)生成票據(jù),并且將生成的票據(jù)存儲(chǔ)起來(lái),安全性更高,實(shí)現(xiàn)起來(lái)要復(fù)雜很多;無(wú)狀態(tài)票據(jù)則僅僅依靠算法來(lái)生成票據(jù),不保存用戶的任何信息,實(shí)現(xiàn)更加輕巧靈活、簡(jiǎn)單。上述兩種類型的票據(jù)使用場(chǎng)景是不一樣的,當(dāng)對(duì)票據(jù)生成的安全性要求較高時(shí),選擇有狀態(tài)票據(jù)生成方法,當(dāng)對(duì)票據(jù)生成的過(guò)程要求簡(jiǎn)單時(shí),選擇無(wú)狀態(tài)票據(jù)生成方法。
有狀態(tài)票據(jù)安全性高,但是實(shí)現(xiàn)起來(lái)很復(fù)雜,一些對(duì)票據(jù)安全性沒(méi)有特別高級(jí)別要求的業(yè)務(wù),不愿意花很多精力來(lái)開(kāi)發(fā)和維護(hù)一個(gè)復(fù)雜的票據(jù)系統(tǒng)。
無(wú)狀態(tài)票據(jù)實(shí)現(xiàn)簡(jiǎn)單,是通過(guò)md5處理的加密算法進(jìn)行加密,但是容易被攻破,存在安全性不夠高的問(wèn)題,而且一旦票據(jù)需要進(jìn)行升級(jí),不方便操作,也沒(méi)有辦法進(jìn)行業(yè)務(wù)級(jí)別的一個(gè)精細(xì)化控制。
而客戶端在有的情況下對(duì)標(biāo)識(shí)信息的安全性要求高,有的情況下對(duì)標(biāo)識(shí)信息要求實(shí)現(xiàn)過(guò)程簡(jiǎn)單,因而現(xiàn)有技術(shù)中的方案的標(biāo)識(shí)信息生成的靈活性低,不能靈活地支持客戶端的需求。
針對(duì)上述標(biāo)識(shí)信息生成的靈活性低的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種標(biāo)識(shí)信息的生成方法和裝置,以至少解決相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種標(biāo)識(shí)信息的生成方法。該標(biāo)識(shí)信息的生成方法包括:獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種標(biāo)識(shí)信息的生成裝置。該標(biāo)識(shí)信息的生成裝置包括:獲取單元,用于獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;處理單元,用于對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;第一加密單元,用于對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;確定單元,用于將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
在本發(fā)明實(shí)施例中,通過(guò)獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息,達(dá)到了既提高生成標(biāo)識(shí)信息的安全性,又簡(jiǎn)化了生成標(biāo)識(shí)信息的過(guò)程的目的,從而達(dá)到靈活地生成標(biāo)識(shí)信息、支持客戶端需求的效果的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成方法的硬件環(huán)境的示意圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成方法的流程圖;
圖3是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的一種對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理的方法的流程圖;
圖6是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖8是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖9是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖;
圖10是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成裝置的示意圖;
圖11是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖;
圖12是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖;
圖13是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖;以及
圖14是根據(jù)本發(fā)明實(shí)施例的一種終端的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種標(biāo)識(shí)信息的生成方法的實(shí)施例。
可選地,在本實(shí)施例中,上述標(biāo)識(shí)信息的生成方法可以應(yīng)用于如圖1所示的由服務(wù)器102和終端104所構(gòu)成的硬件環(huán)境中。圖1是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成方法的硬件環(huán)境的示意圖。如圖1所示,服務(wù)器102通過(guò)網(wǎng)絡(luò)與終端104進(jìn)行連接,上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端104并不限定于PC、手機(jī)、平板電腦等。本發(fā)明實(shí)施例的標(biāo)識(shí)信息的生成方法可以由服務(wù)器102來(lái)執(zhí)行,也可以由終端104來(lái)執(zhí)行,還可以是由服務(wù)器102和終端104共同執(zhí)行。其中,終端104執(zhí)行本發(fā)明實(shí)施例的標(biāo)識(shí)信息的生成方法也可以是由安裝在其上的客戶端來(lái)執(zhí)行。
圖2是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成方法的流程圖。如圖2所示,該標(biāo)識(shí)信息的生成方法可以包括以下步驟:
步驟S202,獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息。
在本發(fā)明上述步驟S202提供的技術(shù)方案中,獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息。
目標(biāo)對(duì)象在登錄客戶端時(shí),產(chǎn)生第一登錄信息,該第一登錄信息為用戶登錄的關(guān)鍵信息,包括用戶ID、登錄密碼、登錄時(shí)間信息、客戶端的標(biāo)識(shí)信息等與目標(biāo)對(duì)象登錄有關(guān)的信息,其中,客戶端可以為視頻客戶端,或者即時(shí)通訊應(yīng)用客戶端,或者賬號(hào)系統(tǒng)客戶端等??蛇x地,獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息,可以為提取用戶的關(guān)鍵信息,包括用戶身份vuid、時(shí)間戳time、業(yè)務(wù)票據(jù)客戶端appid、業(yè)務(wù)版本version、隨機(jī)數(shù)rand等。
步驟S204,對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
在本發(fā)明上述步驟S204提供的技術(shù)方案中,對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
序列化是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或者傳輸?shù)男问降倪^(guò)程。在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫(xiě)入到臨時(shí)或持久性緩沖區(qū),以后可以通過(guò)從緩沖區(qū)中讀取序列化對(duì)象的狀態(tài),重新創(chuàng)建該對(duì)象。在獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息之后,對(duì)第一登錄信息進(jìn)行序列化處理。對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,可以先將2個(gè)字節(jié)的業(yè)務(wù)appid和1個(gè)字節(jié)的業(yè)務(wù)版本version字段通過(guò)移位組成給一個(gè)4字節(jié)的值value,再將用戶身份vuid、時(shí)間戳time、4字節(jié)的值value、隨機(jī)數(shù)rand依次進(jìn)行主機(jī)字節(jié)序到網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換,最后將網(wǎng)絡(luò)字節(jié)序拼湊到一個(gè)長(zhǎng)度為16字節(jié)的緩存區(qū)buf里,從而得到字節(jié)序列第一字節(jié)序列,避免了通過(guò)md5對(duì)第一登錄信息加密導(dǎo)致的安全性不高的問(wèn)題,從而提高了標(biāo)識(shí)信息生成的安全性。
步驟S206,對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
在本發(fā)明上述步驟S206提供的技術(shù)方案中,對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,可以按照每預(yù)設(shè)字節(jié)對(duì)第一字節(jié)序列進(jìn)行加密,得到第一加密字符串,比如,用加密key對(duì)每4個(gè)字節(jié)進(jìn)行加密,最后得到一個(gè)與第一登錄信息中的用戶身份vuid相配對(duì)的隨機(jī)字符串token,隨機(jī)字符串token為上述第一加密字符串,加密Key可以為賬號(hào)等。
步驟S208,將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
在本發(fā)明上述步驟S208提供的技術(shù)方案中,將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
在對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串之后,將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息,也即,標(biāo)識(shí)信息用于確定目標(biāo)對(duì)象唯一性和合法性的信息。在客戶端與服務(wù)器之間進(jìn)行數(shù)據(jù)交互時(shí),服務(wù)器接收客戶端發(fā)送的用于請(qǐng)求數(shù)據(jù)交互的請(qǐng)求,該請(qǐng)求攜帶標(biāo)識(shí)信息。在客戶端與服務(wù)器進(jìn)行數(shù)據(jù)交互時(shí),都要依賴于標(biāo)識(shí)信息,對(duì)標(biāo)識(shí)信息進(jìn)行校驗(yàn),只有校驗(yàn)合法的請(qǐng)求才能通過(guò),對(duì)于校驗(yàn)不合法的請(qǐng)求視為服務(wù)器拒絕響應(yīng)的請(qǐng)求,以確??蛻舳伺c服務(wù)器在數(shù)據(jù)交互時(shí)的安全性。
該實(shí)施例不需要對(duì)標(biāo)識(shí)信息進(jìn)行存儲(chǔ),當(dāng)標(biāo)識(shí)信息為票據(jù)時(shí),為無(wú)狀態(tài)票據(jù)則純粹靠算法來(lái)生成票據(jù),不保存用戶的任何信息,這樣保證了標(biāo)識(shí)信息生成的輕巧靈活、實(shí)現(xiàn)簡(jiǎn)單,以及保證了服務(wù)的穩(wěn)定性。通過(guò)對(duì)客戶端信息進(jìn)行序列化處理以將其中的各項(xiàng)信息關(guān)聯(lián)起來(lái),然后通過(guò)字節(jié)序列加密算法,對(duì)字節(jié)序列進(jìn)行加密,最后得到一個(gè)與客戶端信息相配對(duì)的加密字符串,提高了標(biāo)識(shí)信息生成的安全性??蛻舳嗽趯?duì)標(biāo)識(shí)信息的安全性要求高的情況下,通過(guò)該實(shí)施例可以達(dá)到標(biāo)識(shí)信息生成的安全性,當(dāng)對(duì)標(biāo)識(shí)信息要求實(shí)現(xiàn)過(guò)程簡(jiǎn)單的情況下,通過(guò)該實(shí)施例可以達(dá)到對(duì)標(biāo)識(shí)信息生成輕巧靈活、實(shí)現(xiàn)過(guò)程簡(jiǎn)單的目的,因而解決了現(xiàn)有技術(shù)中的標(biāo)識(shí)信息生成靈活性低,不能靈活地支持客戶端的需求的問(wèn)題。
通過(guò)上述步驟S202至步驟S208,通過(guò)獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息,可以解決相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題,從而達(dá)到靈活地生成標(biāo)識(shí)信息、支持客戶端需求的效果的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題。
作為一種可選的實(shí)施例,在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)進(jìn)行重新排序,得到第一更新字節(jié)序列,再對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
圖3是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖3所示,該標(biāo)識(shí)信息的生成方法還包括以下步驟:
步驟S301,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列。
在本發(fā)明上述步驟S301提供的技術(shù)方案中,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列。
在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,獲取第一字節(jié)序列中的多個(gè)字節(jié),對(duì)第一字節(jié)序列中的多個(gè)字節(jié)重新進(jìn)行排序,按照第一預(yù)設(shè)排序規(guī)則對(duì)多個(gè)字節(jié)進(jìn)行排序,比如,獲取第一字節(jié)序列中的首字節(jié)和末尾字節(jié),對(duì)首字節(jié)和末尾字節(jié)進(jìn)行交換,得到對(duì)第一字節(jié)序列進(jìn)行更新的第一更新字節(jié)序列,也可以獲取第一字節(jié)序列中的正數(shù)第二字節(jié)和第一字節(jié)序列的倒數(shù)第二字節(jié),對(duì)正數(shù)第二字節(jié)和倒數(shù)第二字節(jié)進(jìn)行交換,從而提高了標(biāo)識(shí)信息生成的安全性。
本發(fā)明實(shí)施例可以采用多種方式對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,上述顯示方式僅為本發(fā)明的可選實(shí)施例,并不代表本發(fā)明實(shí)施例的對(duì)第一字節(jié)序列中的多個(gè)字節(jié)進(jìn)行重新排序方法僅包括上述排序方式。為了標(biāo)識(shí)信息生成的安全性,本發(fā)明實(shí)施例還可以包括其他對(duì)第一字節(jié)序列中的多個(gè)字節(jié)進(jìn)行重新排序的方式,此處不再一一舉例說(shuō)明。
步驟S302,對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
在本發(fā)明上述步驟S302提供的技術(shù)方案中,對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
在得到第一更新字節(jié)序列之后,對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,比如,對(duì)第一更新字節(jié)序列每4個(gè)字節(jié)進(jìn)行加密,得到第一加密字符串,從而實(shí)現(xiàn)了上述步驟S206中,對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串的目的,提高了標(biāo)識(shí)信息生成的安全性。
該實(shí)施例通過(guò)在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列;對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,提高了標(biāo)識(shí)信息生成的安全性,進(jìn)而提供了生成標(biāo)識(shí)信息的靈活性。
作為一種可選的實(shí)施例,步驟S206,對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串包括:按照第一加密鍵對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,其中,第一加密鍵為用于加密的鍵。
在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,獲取第一加密鍵,該第一加密鍵用于加密,可以為賬號(hào),比如,QQ號(hào)碼等。按照第一加密鍵對(duì)第一字節(jié)序列中的字節(jié)進(jìn)行加密,按照第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,比如,按照第一加密鍵對(duì)每四個(gè)字節(jié)進(jìn)行字節(jié)序列的加密,如果還未加密的字節(jié)不到四個(gè)字節(jié),則只將還未加密的字節(jié)進(jìn)行加密即可,從而得到與第一登錄信息相匹配的第一加密字符串,將該第一加密字符串確定為目標(biāo)對(duì)象的標(biāo)識(shí)信息。由于是對(duì)字節(jié)序列進(jìn)行加密,因而標(biāo)識(shí)信息的安全性高。
作為一種可選的實(shí)施例,在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,變更第一加密鍵為第二加密鍵,按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
圖4是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖4所示,該標(biāo)識(shí)信息的生成方法還包括以下步驟:
步驟S401,變更第一加密鍵為第二加密鍵。
在本發(fā)明上述步驟S401提供的技術(shù)方案中,變更第一加密鍵為第二加密鍵,其中,第二加密鍵為用于加密的鍵。
在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,動(dòng)態(tài)變化第一加密鍵。將第一加密鍵變更為第二加密鍵,該第二加密鍵為用于加密的鍵,可以為賬號(hào),比如QQ賬號(hào)等。
步驟S402,按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
在本發(fā)明上述步驟S402提供的技術(shù)方案中,按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
在變更第一加密鍵為第二加密鍵之后,按照第二加密鍵對(duì)第一字節(jié)序列重新加密,對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,該第二預(yù)設(shè)個(gè)數(shù)字節(jié)可以和第一預(yù)設(shè)個(gè)數(shù)字節(jié)相同,進(jìn)而得到與第一登錄信息相匹配的第二加密字符串。
在得到第二加密字符串之后,還可以對(duì)第二加密鍵進(jìn)行變更。通過(guò)采用動(dòng)態(tài)變化的加密鍵對(duì)第一字節(jié)序列進(jìn)行加密,提高了標(biāo)識(shí)信息生成的安全性。
該實(shí)施例通過(guò)在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,變更第一加密鍵為第二加密鍵;按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串,從而提高了標(biāo)識(shí)信息生成的安全性。
作為一種可選的實(shí)施例,步驟S202,獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息包括:獲取用于標(biāo)識(shí)目標(biāo)對(duì)象身份的第一用戶標(biāo)識(shí)信息;獲取用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第一時(shí)間標(biāo)識(shí)信息;獲取客戶端的客戶端標(biāo)識(shí)信息;獲取客戶端的版本信息;獲取第一隨機(jī)數(shù);其中,步驟S204,對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列包括:對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
目標(biāo)對(duì)象通過(guò)標(biāo)識(shí)信息進(jìn)行標(biāo)識(shí),當(dāng)目標(biāo)對(duì)象為用戶時(shí),獲取用于標(biāo)識(shí)目標(biāo)對(duì)象身份的第一用戶標(biāo)識(shí)信息,比如,用戶身份vuid。目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生時(shí)間信息,獲取用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第一時(shí)間標(biāo)識(shí)信息,比如,時(shí)間戳time,該時(shí)間戳time通常是一個(gè)字符序列,唯一地標(biāo)識(shí)某一刻的時(shí)間。目標(biāo)對(duì)象登錄的客戶端具有標(biāo)識(shí)信息,以和其它客戶端區(qū)分開(kāi),比如,業(yè)務(wù)appid,獲取客戶端的客戶端標(biāo)識(shí)信息;客戶端的版本對(duì)著業(yè)務(wù)的進(jìn)行可能會(huì)更新,獲取客戶端的版本信息;獲取第一隨機(jī)數(shù),獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息,比如,業(yè)務(wù)version字段。獲取隨機(jī)數(shù)rand,該隨機(jī)數(shù)為隨機(jī)變化的數(shù),獲取在第一時(shí)間標(biāo)識(shí)信息對(duì)應(yīng)的第一隨機(jī)數(shù)。
在對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)之后,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理??蛇x地,將用戶身份vuid、時(shí)間戳time、業(yè)務(wù)appid、業(yè)務(wù)版本version字段和隨機(jī)數(shù)依次按照字節(jié)進(jìn)行序列化處理,并拼湊到一個(gè)預(yù)設(shè)緩沖區(qū)中,得到第一字節(jié)序列,實(shí)現(xiàn)了對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列的目的,提高了標(biāo)識(shí)信息生成的靈活性。
作為一種可選的實(shí)施例,步驟S204,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列包括:將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值;將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序;將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
圖5是根據(jù)本發(fā)明實(shí)施例的一種對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理的方法的流程圖。如圖5所示,該方法包括以下步驟:
步驟S501,將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值。
在本發(fā)明上述步驟S501提供的技術(shù)方案中,將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值。
在獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息之后,獲取第一登錄信息中的客戶端標(biāo)識(shí)信息和版本信息。將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值(value),可以將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息通過(guò)移位組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值。比如,將2個(gè)字節(jié)的業(yè)務(wù)appid和1個(gè)字節(jié)的業(yè)務(wù)版本version字段通過(guò)移位組成為一個(gè)4字節(jié)的value。
步驟S502,將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序。
在本發(fā)明上述步驟S502提供的技術(shù)方案中,將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序。
在將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值之后,將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次由主機(jī)字節(jié)序轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序,比如,將用戶身份vuid、時(shí)間戳time、4字節(jié)的value、隨機(jī)數(shù)依次進(jìn)行主機(jī)字節(jié)序到主機(jī)字節(jié)序的轉(zhuǎn)化。不同的處理器有不同的字節(jié)序類型,這些字節(jié)序是指整數(shù)在內(nèi)存中保存的順序,為主機(jī)字節(jié)序,具有多樣性。網(wǎng)絡(luò)字節(jié)順序是規(guī)定好的一種數(shù)據(jù)表示格式,是確定的,由于它與具體的處理器的類型、操作系統(tǒng)等無(wú)關(guān),從而可以保證數(shù)據(jù)在不同主機(jī)之間傳輸時(shí)能夠被正確解釋。
步驟S503,將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
在本發(fā)明上述步驟S503提供的技術(shù)方案中,將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
在將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序之后,將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),可以將上述網(wǎng)絡(luò)字節(jié)序拼湊到一個(gè)預(yù)設(shè)緩沖區(qū)中,得到第一字節(jié)序列,從而實(shí)現(xiàn)了對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列的目的,提高了標(biāo)識(shí)信息生成的靈活性。
該實(shí)施例通過(guò)將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值;將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序;將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列,實(shí)現(xiàn)了對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列的目的,提供了標(biāo)識(shí)信息生成的靈活性。
作為一種可選的實(shí)施例,在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
圖6是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖6所示,該標(biāo)識(shí)信息的生成方法還包括:
步驟S601,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息。
在本發(fā)明上述步驟S601提供的技術(shù)方案中,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息。
該實(shí)施例生成標(biāo)識(shí)信息的算法的擴(kuò)展性好。為了滿足各終端差異化的需求,在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,效率高,從而控制更多的客戶端。對(duì)客戶端的標(biāo)識(shí)信息進(jìn)行更新,比如,客戶端的標(biāo)識(shí)信息為視頻客戶端的標(biāo)識(shí)信息,將其更新為即時(shí)通訊應(yīng)用客戶端的標(biāo)識(shí)信息。更新客戶端標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息、第一時(shí)間信息、版本信息和第一隨機(jī)數(shù)相對(duì)應(yīng)。
步驟S602,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
在本發(fā)明上述步驟S602提供的技術(shù)方案中,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
在對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息之后,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,可選地,將用戶身份vuid、時(shí)間戳time、更新業(yè)務(wù)appid、業(yè)務(wù)版本version字段和隨機(jī)數(shù)依次按照字節(jié)進(jìn)行序列化處理,并拼湊到一個(gè)預(yù)設(shè)緩沖區(qū)中,得到第一字節(jié)序列,實(shí)現(xiàn)了對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理的目的,進(jìn)而實(shí)現(xiàn)了對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列的目的,提高了標(biāo)識(shí)信息生成的靈活性,滿足了各終端差異化的需求,達(dá)到靈活地支持業(yè)務(wù)需求的效果。
該實(shí)施例通過(guò)在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列實(shí)現(xiàn)了對(duì)客戶端標(biāo)識(shí)信息的目的,并根據(jù)升級(jí)的客戶端標(biāo)識(shí)信息生成第一字節(jié)序列的目的,提高了標(biāo)識(shí)信息生成的靈活性。
作為一種可選的實(shí)施例,在獲取客戶端的版本信息之后,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
圖7是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖7所示該標(biāo)識(shí)信息的生成方法還包括以下步驟:
步驟S701,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息。
在本發(fā)明上述步驟S701提供的技術(shù)方案中,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息。
在獲取客戶端的版本信息之后,對(duì)客戶端進(jìn)行升級(jí)得到升級(jí)版本信息,可以對(duì)任何客戶端的任何版本進(jìn)行用戶無(wú)感知的升級(jí),進(jìn)而實(shí)現(xiàn)了對(duì)標(biāo)識(shí)信息的升級(jí)。比如,獲取業(yè)務(wù)版本字段Version,根據(jù)當(dāng)前的業(yè)務(wù)版本字段Version對(duì)客戶端的版本進(jìn)行升級(jí),得到客戶端的升級(jí)版本信息。
步驟S702,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
在本發(fā)明上述步驟S702提供的技術(shù)方案中,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
在對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息之后,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。可選地,將用戶身份vuid、時(shí)間戳time、更新業(yè)務(wù)appid、升級(jí)業(yè)務(wù)版本version字段和隨機(jī)數(shù)依次按照字節(jié)進(jìn)行序列化處理,并拼湊到一個(gè)預(yù)設(shè)緩沖區(qū)中,得到第一字節(jié)序列,提高了標(biāo)識(shí)信息生成的靈活性,滿足了各終端進(jìn)行任何版本升級(jí)時(shí)用戶無(wú)感知的目的,從而支持不同版本的配置化,達(dá)到靈活地支持業(yè)務(wù)需求的目的。
該實(shí)施例通過(guò)在獲取客戶端的版本信息之后,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息,對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列,提高了標(biāo)識(shí)信息生成的靈活性。
作為一種可選的實(shí)施例,在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示;對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列;對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息;獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息;根據(jù)第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息是否一致確定待校驗(yàn)標(biāo)識(shí)信息是否合法。
圖8是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖8所示,該標(biāo)識(shí)信息的生成方法還包括以下步驟:
步驟S801,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息。
在本發(fā)明上述步驟S801提供的技術(shù)方案中,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示。
客戶端與服務(wù)器之間進(jìn)行數(shù)據(jù)交互依賴于標(biāo)識(shí)信息,只有標(biāo)識(shí)信息校驗(yàn)合法的請(qǐng)求才能通過(guò)。在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,客戶端向服務(wù)器發(fā)送用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,該請(qǐng)求攜帶有待校驗(yàn)的標(biāo)識(shí)信息,該待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示。
步驟S802,對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列。
在本發(fā)明上述步驟S802提供的技術(shù)方案中,對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列。
在對(duì)標(biāo)識(shí)信息進(jìn)行校驗(yàn)時(shí),按照與預(yù)設(shè)加密規(guī)則相對(duì)稱的預(yù)設(shè)解密規(guī)則對(duì)標(biāo)識(shí)信息進(jìn)行解密。在響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息之后,對(duì)第三加密字符串按照預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列。比如,如果按照第一加密鍵對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串時(shí),則對(duì)所述第三加密字符串按照第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,可以按照每四個(gè)字節(jié)進(jìn)行字節(jié)序列的解密,得到第二字節(jié)序列。
步驟S803,對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
在本發(fā)明上述步驟S803提供的技術(shù)方案中,對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息,該第二登錄信息也即用戶登錄的關(guān)鍵信息,包括用戶身份vuid、時(shí)間戳time、業(yè)務(wù)appid、業(yè)務(wù)版本version和隨機(jī)數(shù)rand等。
步驟S804,獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息。
在本發(fā)明上述步驟S804提供的技術(shù)方案中,獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息。
第二登錄信息包括第二用戶標(biāo)識(shí)信息,該第二用戶標(biāo)識(shí)信息可能與第一用戶標(biāo)識(shí)信息相同,也可能不同。在對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息之后,獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息,比如,用戶身份的ID,可選地,第二用戶標(biāo)識(shí)信息為vuid。在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,執(zhí)行步驟S805,在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,執(zhí)行步驟S806。
步驟S805,在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法。
在本發(fā)明上述步驟S805提供的技術(shù)方案中,在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法。
第一登錄信息包括第一用戶標(biāo)識(shí)信息。在獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息之后,判斷第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息是否一致。如果判斷出第二用戶標(biāo)識(shí)信息與第一登錄信息不一致,則確定待檢驗(yàn)標(biāo)識(shí)信息不合法,則不允許攜帶該待校驗(yàn)標(biāo)識(shí)信息的請(qǐng)求通過(guò),從而實(shí)現(xiàn)了對(duì)標(biāo)識(shí)信息的合法性的校驗(yàn)。
步驟S806,在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法。
在本發(fā)明上述步驟S806提供的技術(shù)方案中,在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法。
在判斷第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息是否一致之后,如果判斷出第二用戶標(biāo)識(shí)信息與第一登錄信息一致,則確定待檢驗(yàn)標(biāo)識(shí)信息合法,則允許攜帶該待校驗(yàn)標(biāo)識(shí)信息的請(qǐng)求通過(guò),從而實(shí)現(xiàn)了對(duì)標(biāo)識(shí)信息的合法性的校驗(yàn)。
該實(shí)施例通過(guò)在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示;對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列;對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息;獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息;在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法;在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法,從而實(shí)現(xiàn)了對(duì)標(biāo)識(shí)信息進(jìn)行校驗(yàn)的目的。
作為一種可選的實(shí)施例,在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列;對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
圖9是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成方法的流程圖。如圖9所示,該標(biāo)識(shí)信息的生成方法還包括以下步驟:
步驟S901,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列。
在本發(fā)明上述步驟S901提供的技術(shù)方案中,在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列。
如果對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列,則根據(jù)第一預(yù)設(shè)排序規(guī)則確定第二預(yù)設(shè)排序規(guī)則,該第二預(yù)設(shè)排序規(guī)則與第一預(yù)設(shè)排序規(guī)則相反。在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列。可選地,當(dāng)對(duì)第一字節(jié)序列中的首字節(jié)和末尾字節(jié)進(jìn)行交換得到第一更新字節(jié)序列時(shí),獲取第二字節(jié)序列的首字節(jié)和末尾字節(jié),對(duì)第二字節(jié)序列的首字節(jié)和末尾字節(jié)進(jìn)行交換,得到第二更新字節(jié)序列。
步驟S902,對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
在本發(fā)明上述步驟S902提供的技術(shù)方案中,對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
在對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列之后,對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。校驗(yàn)請(qǐng)求者的第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息是否一致,如果第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息不一致,則確定標(biāo)識(shí)信息不合法,結(jié)束流程。如果第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致,確定標(biāo)識(shí)信息合法,根據(jù)客戶端標(biāo)識(shí)信息和客戶端的版本信息讀取配置化信息,根據(jù)客戶端標(biāo)識(shí)信息和版本信息配置過(guò)來(lái)的過(guò)期時(shí)間判斷標(biāo)識(shí)信息是否過(guò)期。
可選地,根據(jù)用戶的登錄信息,分別生成兩類標(biāo)識(shí)信息,第一標(biāo)識(shí)信息A1和第二標(biāo)識(shí)信息A2。其中,第一標(biāo)識(shí)信息A1的有效時(shí)長(zhǎng)比第二標(biāo)識(shí)信息A2的有效時(shí)長(zhǎng)要長(zhǎng),如果超過(guò)有效時(shí)長(zhǎng)則確定為標(biāo)識(shí)信息過(guò)期。比如,第一標(biāo)識(shí)信息A1的有效時(shí)長(zhǎng)設(shè)置為30天,第二標(biāo)識(shí)信息A2的有效時(shí)長(zhǎng)設(shè)置為2個(gè)小時(shí)。在第二標(biāo)識(shí)信息A2過(guò)期之后,根據(jù)仍然處于有效時(shí)長(zhǎng)內(nèi)的第一標(biāo)識(shí)信息A1重新生成第二標(biāo)識(shí)信息A2。如果第一標(biāo)識(shí)信息A1過(guò)期,則需要用戶重新登錄,可以校驗(yàn)用戶的賬號(hào)和密碼是否合法,在用戶的賬號(hào)和密碼合法的情況下才能重新生成第一標(biāo)識(shí)信息。第一標(biāo)識(shí)信息A1和第二標(biāo)識(shí)信息A2在后臺(tái)服務(wù)器都需要存儲(chǔ)很多信息,比如,通過(guò)用戶的ID、登錄賬號(hào)、登錄密碼、時(shí)間戳等信息,才能解決第一標(biāo)識(shí)信息A1和第二標(biāo)識(shí)信息A2的過(guò)期和續(xù)期問(wèn)題。
該實(shí)施例通過(guò)在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)1應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列;對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息,提高了標(biāo)識(shí)信息的安全性。
作為一種可選的實(shí)施例,步驟S802,對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列包括:在對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串的情況下,對(duì)第三加密字符串中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,得到第二字節(jié)序列。
在標(biāo)識(shí)信息生成的過(guò)程中,如果對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到第一加密字符串時(shí),則在對(duì)標(biāo)識(shí)信息的校驗(yàn)過(guò)程中,在對(duì)標(biāo)識(shí)信息進(jìn)行解密時(shí),按照與預(yù)設(shè)加密規(guī)則相對(duì)稱的預(yù)設(shè)解密規(guī)則對(duì)第三加密字符串中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,從而得到第二字節(jié)序列。
作為一種可選的實(shí)施例,第二登錄信息還包括:用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第二時(shí)間標(biāo)識(shí)信息;客戶端的客戶端標(biāo)識(shí)信息;客戶端的版本信息;第二隨機(jī)數(shù)。
在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,對(duì)第二字節(jié)序列進(jìn)行反序列化處理得到的第二登錄信息除了包括第一用戶標(biāo)識(shí)信息之外,還包括目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的時(shí)間信息,也即,用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第二時(shí)間標(biāo)識(shí)信息,比如,時(shí)間戳time,唯一地標(biāo)識(shí)在對(duì)待校驗(yàn)標(biāo)識(shí)信息進(jìn)行校驗(yàn)時(shí)的時(shí)間。第二登錄信息還包括客戶端標(biāo)識(shí)信息,比如,業(yè)務(wù)appid,可選地,為視頻客戶端標(biāo)識(shí),或者即時(shí)通訊應(yīng)用的標(biāo)識(shí),還包括客戶端的版本信息,比如,業(yè)務(wù)版本version,還包括隨機(jī)產(chǎn)生的第二隨機(jī)數(shù),從而根據(jù)用戶的第二登陸信息確定標(biāo)識(shí)信息是否合法,實(shí)現(xiàn)對(duì)標(biāo)識(shí)信息的校驗(yàn)。
作為一種可選的實(shí)施例,在確定待校驗(yàn)標(biāo)識(shí)信息合法之后,根據(jù)客戶端標(biāo)識(shí)信息和版本信息讀取客戶端的配置信息,其中,配置信息用于確定標(biāo)識(shí)信息是否過(guò)期。
在確定待校驗(yàn)標(biāo)識(shí)信息合法之后,根據(jù)業(yè)務(wù)appid和業(yè)務(wù)版本version,讀取配置信息,該配置信息包括與業(yè)務(wù)版本對(duì)應(yīng)的過(guò)期時(shí)間,從而根據(jù)配置信息確定標(biāo)識(shí)信息是否過(guò)期,從而靈活地支持業(yè)務(wù)需求。
該實(shí)施例對(duì)字節(jié)序列進(jìn)行加密,而且會(huì)動(dòng)態(tài)變化加密鍵,使標(biāo)識(shí)信息的安全性高,可以支持不同業(yè)務(wù)和不同版本的配置化,達(dá)到靈活地支持業(yè)務(wù)需求的目的,并且該算法的擴(kuò)展性較好、效率高,不依賴沒(méi)有任何存儲(chǔ),通過(guò)純內(nèi)存的計(jì)算保證服務(wù)的穩(wěn)定性。
實(shí)施例2
下面結(jié)合優(yōu)選的實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行說(shuō)明。
在該實(shí)施例中,目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的登錄信息為用戶關(guān)鍵信息,包括:用戶標(biāo)識(shí)信息、時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、客戶端的版本信息和隨機(jī)數(shù)。
下面對(duì)標(biāo)識(shí)信息的生成方法進(jìn)行介紹。
第一步,提取用戶的關(guān)鍵信息,包括用戶標(biāo)識(shí)信息、時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、客戶端的版本信息、隨機(jī)數(shù)。
第二步,序列化用戶關(guān)鍵信息。先將2個(gè)字節(jié)的客戶端標(biāo)識(shí)信息和1個(gè)字節(jié)的版本信息通過(guò)移位組成給一個(gè)4字節(jié)的值。然后將用戶標(biāo)識(shí)信息、時(shí)間標(biāo)識(shí)信息、4字節(jié)的值和隨機(jī)數(shù)依次進(jìn)行主機(jī)字節(jié)序到網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換,最后拼湊到一個(gè)長(zhǎng)度為16字節(jié)的緩存區(qū)buf里,得到字節(jié)序列S1。
第三步,對(duì)字節(jié)序列S1進(jìn)行首尾交換,得到字節(jié)序列S2。
第四步,對(duì)字節(jié)序列S2中的字節(jié)進(jìn)行加密,可以對(duì)每4個(gè)字節(jié)進(jìn)行字節(jié)序列加密,得到一個(gè)加密字符串S3。
該實(shí)施例將用戶標(biāo)識(shí)信息、時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和隨機(jī)數(shù)關(guān)聯(lián)起來(lái),序列化到一個(gè)緩存區(qū)buf里,然后通過(guò)字節(jié)序列加密算法,用加密key對(duì)字節(jié)進(jìn)行加密,最后得到一個(gè)與用戶標(biāo)識(shí)信息相配對(duì)的隨機(jī)字符串,提高了標(biāo)識(shí)信息生成的靈活性。
下面對(duì)標(biāo)識(shí)信息的校驗(yàn)方法進(jìn)行介紹。
在對(duì)標(biāo)識(shí)信息進(jìn)行校驗(yàn)的時(shí)候,根據(jù)與加密算法相對(duì)稱的解密方法,對(duì)標(biāo)識(shí)信息進(jìn)行解密,得到用戶的關(guān)鍵信息,然后根據(jù)客戶端的標(biāo)識(shí)信息和客戶端的版本信息讀取配置化的信息,來(lái)判斷標(biāo)識(shí)信息的合法性。
第一步,對(duì)加密字符串S3中的字節(jié)進(jìn)行解密,每四個(gè)字節(jié)進(jìn)行字節(jié)序列的解密,得到字節(jié)序列S2。
第二步,對(duì)字節(jié)序列S2進(jìn)行首尾交換,得到字節(jié)序列S1。
第三步,對(duì)字節(jié)序列S1進(jìn)行反序列化,得到關(guān)鍵信息,該關(guān)鍵信息包括用戶標(biāo)識(shí)信息、時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、客戶端的版本信息和隨機(jī)數(shù)。
第四步,校驗(yàn)解密得到的用戶標(biāo)識(shí)信息與加密生成的用戶標(biāo)識(shí)信息是否一致,如果解密得到的用戶標(biāo)識(shí)信息與加密生成的用戶標(biāo)識(shí)信息不一致,則返回對(duì)標(biāo)識(shí)信息校驗(yàn)不合法,結(jié)束流程,如果解密得到的用戶標(biāo)識(shí)信息與加密生成的用戶標(biāo)識(shí)信息一致,則繼續(xù)執(zhí)行第五步。
第五步,根據(jù)客戶端標(biāo)識(shí)信息和客戶端的版本信息讀取配置信息,根據(jù)配合信息中的過(guò)期時(shí)間確定標(biāo)識(shí)信息是否過(guò)期。
該實(shí)施例對(duì)字節(jié)序列進(jìn)行加密,而且會(huì)動(dòng)態(tài)變化加密key,達(dá)到標(biāo)識(shí)信息的安全性高的效果,可以支持不同業(yè)務(wù)和不同版本的配置化,可以靈活地支持業(yè)務(wù)需求,另外,標(biāo)識(shí)信息的生成算法的擴(kuò)展性較好,效率高,純內(nèi)存的計(jì)算,不依賴任何存儲(chǔ),保證了服務(wù)的穩(wěn)定性。
實(shí)施例3
本發(fā)明實(shí)施例的應(yīng)用環(huán)境可以但不限于參照上述實(shí)施例中的應(yīng)用環(huán)境,本實(shí)施例中對(duì)此不再贅述。本發(fā)明實(shí)施例提供了用于實(shí)施上述標(biāo)識(shí)信息的生成方法的一種可選的具體應(yīng)用,具體以用于表示身份憑證的票據(jù)進(jìn)行說(shuō)明。
本發(fā)明實(shí)施例的承載體是視頻業(yè)務(wù),視頻各終端支持的登錄包括即時(shí)通訊應(yīng)用的登錄方式。對(duì)于后臺(tái)數(shù)據(jù)的存儲(chǔ)、用戶身份的校驗(yàn)都需要一套體系來(lái)承載,否則數(shù)據(jù)都要存儲(chǔ)兩類,一類是賬號(hào),另一類是OpenID,其中,OpenID是一個(gè)以用戶為中心的數(shù)字身份識(shí)別框架,具有開(kāi)放、分散性維護(hù),維護(hù)起來(lái)很麻煩,而且后續(xù)一旦要支持手機(jī)號(hào)碼登錄、微博登錄等多種其它方式登錄時(shí),不具備任何的擴(kuò)展性。該實(shí)施例的標(biāo)識(shí)信息的生成算法是整個(gè)視頻登錄系統(tǒng)的核心,為了滿足視頻各終端差異化的需求,系統(tǒng)要求可以控制各個(gè)終端,各個(gè)終端的各個(gè)版本的票據(jù)過(guò)期時(shí)間,要能對(duì)任何終端的任何版本進(jìn)行用戶無(wú)感知的票據(jù)升級(jí),而且要盡可能地保證票據(jù)的穩(wěn)定性和安全性。
下面對(duì)票據(jù)的生成方法進(jìn)行介紹。
第一步,提取用戶的關(guān)鍵信息,包括用戶身份vuid、時(shí)間戳time、業(yè)務(wù)appid、業(yè)務(wù)版本version、隨機(jī)數(shù)rand。
第二步,序列化用戶關(guān)鍵信息。先將2個(gè)字節(jié)的業(yè)務(wù)appid和1個(gè)字節(jié)的業(yè)務(wù)版本version字段通過(guò)移位組成為一個(gè)4字節(jié)的值value。然后將用戶身份vuid、時(shí)間戳time、4字節(jié)的值value和隨機(jī)數(shù)rand依次進(jìn)行主機(jī)字節(jié)序到網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換,最后拼湊到一個(gè)長(zhǎng)度為16字節(jié)的緩存區(qū)buf里,得到字節(jié)序列S1。
第三步,對(duì)字節(jié)序列S1進(jìn)行首尾交換,得到字節(jié)序列S2。
第四步,對(duì)字節(jié)序列S2,每4個(gè)字節(jié)進(jìn)行字節(jié)序列加密,得到一個(gè)加密字符串S3。
在票據(jù)校驗(yàn)的時(shí)候,根據(jù)加密的對(duì)稱方法,解開(kāi)票據(jù),得到用戶的關(guān)鍵信息,然后根據(jù)業(yè)務(wù)appid和業(yè)務(wù)版本讀取配置化的信息,來(lái)判斷票據(jù)的合法性。
該實(shí)施例將用戶身份vuid、當(dāng)前時(shí)間戳、業(yè)務(wù)appid、業(yè)務(wù)版本將這幾個(gè)關(guān)鍵信息關(guān)聯(lián)起來(lái),序列化到一個(gè)緩存區(qū)buf里,然后通過(guò)字節(jié)序列加密算法,用加密key對(duì)每4個(gè)字節(jié)進(jìn)行加密,最后得到一個(gè)與用戶身份vuid配對(duì)的隨機(jī)字符串token,將該隨機(jī)字符串確定為目標(biāo)對(duì)象的標(biāo)識(shí)信息,提高了標(biāo)識(shí)信息生成的靈活性。
下面對(duì)票據(jù)的校驗(yàn)方法進(jìn)行介紹。
第一步,對(duì)加密字符串S3進(jìn)行解密,每四個(gè)字節(jié)進(jìn)行字節(jié)序列的解密,得到字節(jié)序列S2。
第二步,對(duì)字節(jié)序列S2進(jìn)行首尾交換,得到字節(jié)序列S1。
第三步,對(duì)字節(jié)序列S1進(jìn)行反序列化處理,得到關(guān)鍵信息,該關(guān)鍵信息寶庫(kù)用戶身份vuid、時(shí)間戳time、業(yè)務(wù)appid、業(yè)務(wù)版本version和隨機(jī)數(shù)rand。
第四步,校驗(yàn)解密得到的用戶身份vuid與加密生成的用戶身份vuid是否一致,如果解密得到的用戶身份vuid與加密生成的用戶身份vuid不一致,則返回對(duì)票據(jù)校驗(yàn)不合法,結(jié)束流程,如果解密得到的用戶身份vuid與加密生成的用戶身份vuid一致,則繼續(xù)執(zhí)行第五步。
第五步,根據(jù)業(yè)務(wù)appid和業(yè)務(wù)版本verion讀取配置信息,根據(jù)配置信息中的過(guò)期時(shí)間判斷票據(jù)是否過(guò)期。
該實(shí)施例對(duì)字節(jié)序列進(jìn)行加密,可以動(dòng)態(tài)變化加密key,提高了票據(jù)的安全性,可以支持不同業(yè)務(wù)和不同版本的配置化,從而靈活地支持業(yè)務(wù)需求,該票據(jù)的生成算法的擴(kuò)展性較好、效率高,并且純內(nèi)存的計(jì)算,不依賴于任何存儲(chǔ),從而保證了服務(wù)的穩(wěn)定性。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
實(shí)施例4
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述標(biāo)識(shí)信息的生成方法的標(biāo)識(shí)信息的生成裝置。圖10是根據(jù)本發(fā)明實(shí)施例的一種標(biāo)識(shí)信息的生成裝置的示意圖。如圖10所示,該標(biāo)識(shí)信息的生成裝置包括:獲取單元10、處理單元20、第一加密單元30和確定單元40。
獲取單元10,用于獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息。
處理單元20,用于對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
第一加密單元30,用于對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
確定單元40,用于將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
需要說(shuō)明的是,該實(shí)施例中的獲取單元10可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟S202,該實(shí)施例中的處理單元20可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟S204,該實(shí)施例中的第一加密單元30可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟S206,該實(shí)施例中的確定單元40可以用于執(zhí)行本申請(qǐng)實(shí)施例1中的步驟S208。
圖11是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖。如圖11所示,該標(biāo)識(shí)信息的生成裝置包括:獲取單元10、處理單元20、第一加密單元30和確定單元40。該標(biāo)識(shí)信息的生成裝置還包括:排序單元50。
需要說(shuō)明的是,該實(shí)施例的獲取單元10、處理單元20、第一加密單元30和確定單元40與圖10所示實(shí)施例的標(biāo)識(shí)信息的生成裝置中的作用相同。此處不再贅述。
排序單元50,用于在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列。
第一加密單元30用于對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
可選地,第一加密單元30用于按照第一加密鍵對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,其中,第一加密鍵為用于加密的鍵。
圖12是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖。如圖12所示,該標(biāo)識(shí)信息的生成裝置包括:獲取單元10、處理單元20、第一加密單元30和確定單元40。該標(biāo)識(shí)信息的生成裝置還包括:變更單元60和第二加密單元70。
需要說(shuō)明的是,該實(shí)施例的獲取單元10、處理單元20、第一加密單元30和確定單元40與圖10所示實(shí)施例的標(biāo)識(shí)信息的生成裝置中的作用相同。此處不再贅述。
變更單元60,用于在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,變更第一加密鍵為第二加密鍵,其中,第二加密鍵為用于加密的鍵。
第二加密單元70,用于按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
圖13是根據(jù)本發(fā)明實(shí)施例的另一種標(biāo)識(shí)信息的生成裝置的示意圖。如圖13所示,該標(biāo)識(shí)信息的生成裝置包括:獲取單元10、處理單元20、第一加密單元30、確定單元40和排序單元50。該標(biāo)識(shí)信息的生成裝置還包括:變更單元60和第二加密單元70。
需要說(shuō)明的是,該實(shí)施例的獲取單元10、處理單元20、第一加密單元30和確定單元40與圖10所示實(shí)施例的標(biāo)識(shí)信息的生成裝置中的作用相同。此處不再贅述。
變更單元60和第二加密單元70如圖11所示實(shí)施例中的標(biāo)識(shí)信息的生成裝置中的作用相同。此處不再贅述。
可選地,獲取單元10用于獲取用于標(biāo)識(shí)目標(biāo)對(duì)象身份的第一用戶標(biāo)識(shí)信息;獲取用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第一時(shí)間標(biāo)識(shí)信息;獲取客戶端的客戶端標(biāo)識(shí)信息;獲取客戶端的版本信息;獲取第一隨機(jī)數(shù);其中,處理單元20用于對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,處理單元20包括:組成模塊、轉(zhuǎn)化模塊和存儲(chǔ)模塊。其中,組成模塊用于將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值;轉(zhuǎn)化模塊用于將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序;存儲(chǔ)模塊用于將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
可選地,標(biāo)識(shí)信息的生成裝置還包括:更新單元,用于在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息;處理單元20用于對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,該標(biāo)識(shí)信息的生成裝置還包括:升級(jí)單元,用于在獲取客戶端的版本信息之后,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息;處理單元20用于對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,該標(biāo)識(shí)信息的生成裝置還包括:響應(yīng)單元、解密單元、第一處理單元、第一獲取單元、第一確定單元和第二確定單元。其中,響應(yīng)單元,用于在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示;解密單元,用于對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列;第一處理單元,用于對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息;第一獲取單元,用于獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息;第一確定單元,用于在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法;第二確定單元,用于在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法。
可選地,該標(biāo)識(shí)信息的生成裝置還包括:第一排序單元,用于在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列;第一處理單元用于對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
可選地,對(duì)于上述實(shí)施例,解密單元用于在對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串的情況下,對(duì)第三加密字符串中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,得到第二字節(jié)序列。
可選地,第二登錄信息還包括:用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第二時(shí)間標(biāo)識(shí)信息;客戶端的客戶端標(biāo)識(shí)信息;客戶端的版本信息;第二隨機(jī)數(shù)。
可選地,該標(biāo)識(shí)信息的生成裝置還包括:讀取單元,用于在確定待校驗(yàn)標(biāo)識(shí)信息合法之后,根據(jù)客戶端標(biāo)識(shí)信息和版本信息讀取客戶端的配置信息,其中,配置信息用于確定標(biāo)識(shí)信息是否過(guò)期。
通過(guò)上述獲取單元10獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息,通過(guò)處理單元20對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列,通過(guò)第一加密單元30對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,通過(guò)確定單元40將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息,達(dá)到了既提高生成標(biāo)識(shí)信息的安全性,又簡(jiǎn)化了生成標(biāo)識(shí)信息的過(guò)程的目的,從而達(dá)到靈活地生成標(biāo)識(shí)信息、支持客戶端需求的效果的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題。
此處需要說(shuō)明的是,上述單元和模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例1所公開(kāi)的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在如圖1所示的硬件環(huán)境中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn),其中,硬件環(huán)境包括網(wǎng)絡(luò)環(huán)境。
實(shí)施例5
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述標(biāo)識(shí)信息的生成方法的服務(wù)器或終端。
圖14是根據(jù)本發(fā)明實(shí)施例的一種終端的結(jié)構(gòu)框圖。如圖14所示,該終端可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器141、存儲(chǔ)器143、以及傳輸裝置145。如圖14所示,該終端還可以包括輸入輸出設(shè)備147。
其中,存儲(chǔ)器143可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的標(biāo)識(shí)信息的生成方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器141通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器143內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的標(biāo)識(shí)信息的生成方法。存儲(chǔ)器143可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器143可進(jìn)一步包括相對(duì)于處理器141遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
上述的傳輸裝置145用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲(chǔ)器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實(shí)例可包括有線網(wǎng)絡(luò)及無(wú)線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置145包括一個(gè)網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過(guò)網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置145為射頻(Radio Frequency,RF)模塊,其用于通過(guò)無(wú)線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
其中,具體地,存儲(chǔ)器143用于存儲(chǔ)應(yīng)用程序。
處理器141可以通過(guò)傳輸裝置145調(diào)用存儲(chǔ)器143存儲(chǔ)的應(yīng)用程序,以執(zhí)行下述步驟:
獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;
對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;
對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;
將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
處理器141還用于執(zhí)行下述步驟:在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列;對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
處理器141還用于執(zhí)行下述步驟:按照第一加密鍵對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,其中,第一加密鍵為用于加密的鍵。
處理器141還用于執(zhí)行下述步驟:在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,變更第一加密鍵為第二加密鍵,其中,第二加密鍵為用于加密的鍵;按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
處理器141還用于執(zhí)行下述步驟:獲取用于標(biāo)識(shí)目標(biāo)對(duì)象身份的第一用戶標(biāo)識(shí)信息;獲取用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第一時(shí)間標(biāo)識(shí)信息;獲取客戶端的客戶端標(biāo)識(shí)信息;獲取客戶端的版本信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
處理器141還用于執(zhí)行下述步驟:將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值;將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序;將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
處理器141還用于執(zhí)行下述步驟:在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
處理器141還用于執(zhí)行下述步驟:在獲取客戶端的版本信息之后,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
處理器141還用于執(zhí)行下述步驟:在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示;對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列;對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息;獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息;在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法;在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法。
處理器141還用于執(zhí)行下述步驟:在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列;對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
處理器141還用于執(zhí)行下述步驟:在對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串的情況下,對(duì)第三加密字符串中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,得到第二字節(jié)序列。
處理器141還用于執(zhí)行下述步驟:在確定待校驗(yàn)標(biāo)識(shí)信息合法之后,根據(jù)客戶端標(biāo)識(shí)信息和版本信息讀取客戶端的配置信息,其中,配置信息用于確定標(biāo)識(shí)信息是否過(guò)期。
采用本發(fā)明實(shí)施例,提供了一種標(biāo)識(shí)信息的生成方法。通過(guò)獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息,達(dá)到了既提高生成標(biāo)識(shí)信息的安全性,又簡(jiǎn)化了生成標(biāo)識(shí)信息的過(guò)程的目的,從而達(dá)到靈活地生成標(biāo)識(shí)信息、支持客戶端需求的效果的技術(shù)效果,進(jìn)而解決了相關(guān)技術(shù)標(biāo)識(shí)信息生成的靈活性低的技術(shù)問(wèn)題。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例中所描述的示例,本實(shí)施例在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解,圖14所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(jī)(如Android手機(jī)、iOS手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)、PAD等終端設(shè)備。圖14其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖14中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖14所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令終端設(shè)備相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤(pán)、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取器(Random Access Memory,RAM)、磁盤(pán)或光盤(pán)等。
實(shí)施例6
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于執(zhí)行標(biāo)識(shí)信息的生成方法的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于上述實(shí)施例所示的網(wǎng)絡(luò)中的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備上。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
獲取目標(biāo)對(duì)象在登錄客戶端時(shí)產(chǎn)生的第一登錄信息;
對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列;
對(duì)第一字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串;
將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在對(duì)第一登錄信息按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列之后,對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第一更新字節(jié)序列;對(duì)第一更新字節(jié)序列按照預(yù)設(shè)加密規(guī)則進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:按照第一加密鍵對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串,其中,第一加密鍵為用于加密的鍵。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,變更第一加密鍵為第二加密鍵,其中,第二加密鍵為用于加密的鍵;按照第二加密鍵對(duì)第一字節(jié)序列中每第二預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第二加密字符串。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取用于標(biāo)識(shí)目標(biāo)對(duì)象身份的第一用戶標(biāo)識(shí)信息;獲取用于標(biāo)識(shí)目標(biāo)對(duì)象登錄客戶端的時(shí)間的第一時(shí)間標(biāo)識(shí)信息;獲取客戶端的客戶端標(biāo)識(shí)信息;獲取客戶端的版本信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:將第三預(yù)設(shè)個(gè)數(shù)字節(jié)的客戶端標(biāo)識(shí)信息和第四預(yù)設(shè)個(gè)數(shù)字節(jié)的版本信息組成第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值;將第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、第五預(yù)設(shè)個(gè)數(shù)字節(jié)的值和第一隨機(jī)數(shù)依次轉(zhuǎn)化為網(wǎng)絡(luò)字節(jié)序;將網(wǎng)絡(luò)字節(jié)序存儲(chǔ)至預(yù)設(shè)緩沖區(qū),得到第一字節(jié)序列。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在獲取客戶端的客戶端標(biāo)識(shí)信息之后,對(duì)客戶端標(biāo)識(shí)信息進(jìn)行更新,得到更新客戶端標(biāo)識(shí)信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、更新客戶端標(biāo)識(shí)信息、版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在獲取客戶端的版本信息之后,對(duì)客戶端的版本進(jìn)行升級(jí),得到升級(jí)版本信息;對(duì)第一用戶標(biāo)識(shí)信息、第一時(shí)間標(biāo)識(shí)信息、客戶端標(biāo)識(shí)信息、升級(jí)版本信息和第一隨機(jī)數(shù)按照字節(jié)進(jìn)行序列化處理,得到第一字節(jié)序列。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在將第一加密字符串確定為用于標(biāo)識(shí)目標(biāo)對(duì)象的標(biāo)識(shí)信息之后,響應(yīng)客戶端發(fā)送的用于與服務(wù)器進(jìn)行數(shù)據(jù)交互的請(qǐng)求,得到目標(biāo)對(duì)象的待校驗(yàn)標(biāo)識(shí)信息,其中,請(qǐng)求攜帶待校驗(yàn)標(biāo)識(shí)信息,待校驗(yàn)標(biāo)識(shí)信息通過(guò)第三加密字符串表示;對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列;對(duì)第二字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息;獲取第二登錄信息中的第二用戶標(biāo)識(shí)信息;在第二用戶標(biāo)識(shí)信息與第一登錄信息中的第一用戶標(biāo)識(shí)信息不一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息不合法;在第二用戶標(biāo)識(shí)信息與第一用戶標(biāo)識(shí)信息一致的情況下,確定待校驗(yàn)標(biāo)識(shí)信息合法。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在對(duì)第三加密字符串按照與預(yù)設(shè)加密規(guī)則相對(duì)應(yīng)的預(yù)設(shè)解密規(guī)則進(jìn)行解密,得到第二字節(jié)序列之后,在對(duì)第一字節(jié)序列中的多個(gè)字節(jié)按照第一預(yù)設(shè)排序規(guī)則進(jìn)行重新排序的情況下,對(duì)第二字節(jié)序列中的多個(gè)字節(jié)按照與第一預(yù)設(shè)排序規(guī)則相對(duì)應(yīng)的第二預(yù)設(shè)排序規(guī)則進(jìn)行重新排序,得到第二更新字節(jié)序列;對(duì)第二更新字節(jié)序列進(jìn)行反序列化處理,得到第二登錄信息。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在對(duì)第一字節(jié)序列中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行加密,得到與第一登錄信息相匹配的第一加密字符串的情況下,對(duì)第三加密字符串中每第一預(yù)設(shè)個(gè)數(shù)字節(jié)進(jìn)行解密,得到第二字節(jié)序列。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:在確定待校驗(yàn)標(biāo)識(shí)信息合法之后,根據(jù)客戶端標(biāo)識(shí)信息和版本信息讀取客戶端的配置信息,其中,配置信息用于確定標(biāo)識(shí)信息是否過(guò)期。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例中所描述的示例,本實(shí)施例在此不再贅述。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
上述實(shí)施例中的集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在上述計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)或多臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的客戶端,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。