本申請(qǐng)涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種驗(yàn)證碼的發(fā)送方法及裝置。
背景技術(shù):
:為了避免一些惡意用戶通過(guò)使用機(jī)器程序?qū)W(wǎng)絡(luò)核心資源進(jìn)行濫用,驗(yàn)證碼技術(shù)應(yīng)運(yùn)而生。驗(yàn)證碼技術(shù)可以限制用戶在一定時(shí)間內(nèi)只能對(duì)特定的資源進(jìn)行有限次數(shù)和有限頻率的訪問(wèn),從而可以防止惡意用戶對(duì)核心資源的濫用。然而,隨著驗(yàn)證碼破解技術(shù)的不斷發(fā)展,傳統(tǒng)的驗(yàn)證碼已經(jīng)越來(lái)越無(wú)法阻擋惡意用戶對(duì)核心資源的濫用。相關(guān)技術(shù)中,服務(wù)端可以先將生成的驗(yàn)證碼進(jìn)行拆分,然后由用戶在用戶界面上對(duì)拆分后的驗(yàn)證碼的各個(gè)部分進(jìn)行手工拼接,并在完成上述拼接后對(duì)該驗(yàn)證碼進(jìn)行識(shí)別。識(shí)別完成后,可以將該驗(yàn)證碼發(fā)回服務(wù)器進(jìn)行驗(yàn)證和校驗(yàn)。然而,為了使用戶能夠完成對(duì)拆分后的驗(yàn)證碼的拼接,相關(guān)技術(shù)僅對(duì)驗(yàn)證碼進(jìn)行普通的切割,由于機(jī)器可以破解僅進(jìn)行普通切割的驗(yàn)證碼,因此,相關(guān)技術(shù)中驗(yàn)證碼的安全性低。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本申請(qǐng)?zhí)峁┮环N驗(yàn)證碼的發(fā)送方法及裝置,來(lái)解決相關(guān)技術(shù)中驗(yàn)證碼安全性低的問(wèn)題。具體地,本申請(qǐng)是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:本申請(qǐng)?zhí)峁┮环N驗(yàn)證碼的發(fā)送方法,所述方法應(yīng)用于服務(wù)端,所述服務(wù)端與客戶端相連,所述方法包括:接收所述客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼;將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼;基于預(yù)設(shè)的若干變換參數(shù)對(duì)所述若干子驗(yàn)證碼進(jìn)行變換,并根據(jù)所述變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼;基于所述若干變換參數(shù)生成與所述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼;分別將所述待發(fā)送驗(yàn)證碼以及所述還原代碼發(fā)送至所述客戶端。可選的,所述將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼包括:基于預(yù)設(shè)的切分力度和切分方法將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼??蛇x的,所述服務(wù)端預(yù)設(shè)變換參數(shù)池,所述預(yù)設(shè)的若干變換參數(shù)為從所述預(yù)設(shè)變換參數(shù)池中隨機(jī)獲取的若干變換參數(shù)??蛇x的,所述方法還包括:保存所述若干子驗(yàn)證碼與變換所述若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系;所述基于所述若干變換參數(shù)生成與所述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼包括:從所述對(duì)應(yīng)關(guān)系中獲取與所述若干子驗(yàn)證碼對(duì)應(yīng)的若干變換參數(shù);基于所述若干變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù);基于所述若干逆變換參數(shù)生成與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼;基于所述若干還原子代碼生成還原代碼。可選的,所述根據(jù)所述變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼包括:基于指定順序?qū)λ鲎儞Q后的若干子驗(yàn)證碼進(jìn)行排序;基于所述排序結(jié)果生成所述待發(fā)送驗(yàn)證碼;所述基于所述若干逆變換參數(shù)生成與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼包括:基于所述排序結(jié)果獲取與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的排序序號(hào);基于所述若干逆變換參數(shù)以及所述若干排序序號(hào)生成與所述若干子驗(yàn)證碼對(duì)應(yīng)的還原子代碼。本申請(qǐng)同時(shí)提供一種驗(yàn)證碼的發(fā)送裝置,所述裝置應(yīng)用于服務(wù)端,所述服務(wù)端與客戶端相連,所述裝置包括:初始驗(yàn)證碼生成模塊,用于接收所述客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼;切分模塊,用于將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼;待發(fā)送驗(yàn)證碼生成模塊,用于基于預(yù)設(shè)的若干變換參數(shù)對(duì)所述若干子驗(yàn)證碼進(jìn)行變換,并根據(jù)所述變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼;還原代碼生成模塊,用于基于所述若干變換參數(shù)生成與所述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼;發(fā)送模塊,用于分別將所述待發(fā)送驗(yàn)證碼以及所述還原代碼發(fā)送至所述客戶端??蛇x的,所述切分模塊具體用于:基于預(yù)設(shè)的切分力度和切分方法將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼??蛇x的,所述服務(wù)端預(yù)設(shè)變換參數(shù)池,所述預(yù)設(shè)的若干變換參數(shù)為從所述預(yù)設(shè)變換參數(shù)池中隨機(jī)獲取的若干變換參數(shù)??蛇x的,所述裝置還包括:保存模塊,用于保存所述若干子驗(yàn)證碼與變換所述若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系;所述還原代碼生成模塊包括:獲取子模塊,用于從所述對(duì)應(yīng)關(guān)系中獲取與所述若干子驗(yàn)證碼對(duì)應(yīng)的若干變換參數(shù);逆變換參數(shù)生成子模塊,用于基于所述若干變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù);還原子代碼生成子模塊,用于基于所述若干逆變換參數(shù)生成與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼;還原代碼生成子模塊,用于基于所述若干還原子代碼生成還原代碼。可選的,所述待發(fā)送驗(yàn)證碼生成模塊具體用于:基于指定順序?qū)λ鲎儞Q后的若干子驗(yàn)證碼進(jìn)行排序;基于所述排序結(jié)果生成所述待發(fā)送驗(yàn)證碼;所述還原子代碼生成子模塊具體用于:基于所述排序結(jié)果獲取與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的排序序號(hào);基于所述若干逆變換參數(shù)以及所述若干排序序號(hào)生成與所述若干子驗(yàn)證碼對(duì)應(yīng)的還原子代碼。在本申請(qǐng)中,服務(wù)端可以在接收與其相連的客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼,然后,服務(wù)端可以將該初始驗(yàn)證碼切分為若干子驗(yàn)證碼,并基于預(yù)設(shè)的若干變換參數(shù)對(duì)上述若干子驗(yàn)證碼進(jìn)行變換,完成對(duì)上述若干子驗(yàn)證碼的變換后,服務(wù)端可以根據(jù)該變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼,然后,服務(wù)端可以基于上述若干變換參數(shù)生成與上述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼,并分別將上述待發(fā)送驗(yàn)證碼以及上述還原代碼發(fā)送至上述客戶端。應(yīng)用本申請(qǐng)可以通過(guò)向客戶端發(fā)送變換拼接后的驗(yàn)證碼來(lái)有效阻止惡意程序?qū)︱?yàn)證碼的自動(dòng)識(shí)別,從而可以提高驗(yàn)證碼的安全性。附圖說(shuō)明圖1是本申請(qǐng)一實(shí)施例示出的一種驗(yàn)證碼的發(fā)送方法的流程圖;圖2是本申請(qǐng)示出的初始驗(yàn)證碼;圖3是本申請(qǐng)示出的若干切分后的子驗(yàn)證碼;圖4是本申請(qǐng)示出的若干子驗(yàn)證碼的編號(hào)結(jié)果;圖5是本申請(qǐng)示出的若干變換后的子驗(yàn)證碼的排序結(jié)果;圖6是本申請(qǐng)示出的待發(fā)送驗(yàn)證碼;圖7是本申請(qǐng)實(shí)施例中驗(yàn)證碼的發(fā)送裝置的硬件結(jié)構(gòu)框圖;圖8是本申請(qǐng)根據(jù)一示例性實(shí)施例示出的一種驗(yàn)證碼的發(fā)送裝置的框圖。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。在本申請(qǐng)使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。參考圖1,本申請(qǐng)一實(shí)施例示出的一種驗(yàn)證碼的發(fā)送方法的流程圖,該實(shí)施例應(yīng)用于服務(wù)端,包括以下步驟:步驟101:接收所述客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼。在本申請(qǐng)中,上述服務(wù)端可以與客戶端相連,并接收客戶端發(fā)送的驗(yàn)證碼請(qǐng)求,然后,服務(wù)端可以生成初始驗(yàn)證碼。其中,本申請(qǐng)對(duì)該初始驗(yàn)證碼的格式不做限制,例如,可以為驗(yàn)證碼圖案或驗(yàn)證碼字符。當(dāng)然,本申請(qǐng)對(duì)該初始驗(yàn)證碼的內(nèi)容也不做限制,例如,可以為驗(yàn)證碼問(wèn)題。需要說(shuō)明的是,上述服務(wù)端在生成初始驗(yàn)證碼的同時(shí),可以生成與該初始驗(yàn)證碼對(duì)應(yīng)的初始驗(yàn)證碼答案。其中,初始驗(yàn)證碼可以與對(duì)應(yīng)的初始驗(yàn)證碼答案相同。在示出的一個(gè)實(shí)施例中,服務(wù)端生成的一個(gè)初始驗(yàn)證碼可以如圖2所示,此時(shí),服務(wù)端生成的與圖2所示的初始驗(yàn)證碼對(duì)應(yīng)的初始驗(yàn)證碼答案可以同樣如圖2所示。步驟102:將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼。在本申請(qǐng)中,生成初始驗(yàn)證碼后,服務(wù)端可以將該初始驗(yàn)證碼切分為若干子驗(yàn)證碼。具體地,服務(wù)端可以基于預(yù)設(shè)的切分力度以及切分方法將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼。在示出的一個(gè)實(shí)施例中,上述預(yù)設(shè)的切分方法可以為:先對(duì)驗(yàn)證碼進(jìn)行從左到右的橫向切分,再對(duì)驗(yàn)證碼進(jìn)行從上到下的縱向切分;上述預(yù)設(shè)的切分力度可以為3,則當(dāng)服務(wù)端基于該切分方法以及切分力度對(duì)如圖2所示的初始驗(yàn)證碼進(jìn)行切分時(shí),可以得到如圖3所示的若干切分后的子驗(yàn)證碼。在一個(gè)實(shí)施例中,在將初始驗(yàn)證碼切分為若干子驗(yàn)證碼后,可以按照預(yù)設(shè)的編號(hào)規(guī)則對(duì)該若干子驗(yàn)證碼進(jìn)行編號(hào),其中,該預(yù)設(shè)的編號(hào)規(guī)則可以由用戶自定義設(shè)置或者為默認(rèn)設(shè)置,例如,可以為先從左到右后從上到下。在示出的一個(gè)實(shí)施例中,當(dāng)根據(jù)先從左到右后從上到下的編號(hào)規(guī)則對(duì)如圖3所示的若干子驗(yàn)證碼進(jìn)行編號(hào)時(shí),可以得到如圖4所示的若干子驗(yàn)證碼的編號(hào)結(jié)果。步驟103:基于預(yù)設(shè)的若干變換參數(shù)對(duì)所述若干子驗(yàn)證碼進(jìn)行變換,并根據(jù)所述變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼。在本申請(qǐng)中,在得到上述若干切分后的子驗(yàn)證碼后,可以基于預(yù)設(shè)的變換參數(shù)對(duì)上述若干子驗(yàn)證碼進(jìn)行變換,并根據(jù)變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼。需要說(shuō)明的是,上述服務(wù)端可以預(yù)設(shè)變換參數(shù)池,該變換參數(shù)池中的變換參數(shù)可以由用戶自定義設(shè)置,例如可以為順時(shí)針旋轉(zhuǎn)160度橫向縮小20%縱向縮小30%。需要說(shuō)明的是,該預(yù)設(shè)的變換參數(shù)池中可以存在相同的變換參數(shù),本申請(qǐng)對(duì)此不做限制。上述預(yù)設(shè)的變換參數(shù)可以為從上述預(yù)設(shè)的變換參數(shù)池中隨機(jī)獲取的若干變換參數(shù)。在一個(gè)示例中,服務(wù)端可以在每次對(duì)同一初始驗(yàn)證碼切分成的若干子驗(yàn)證碼進(jìn)行變換時(shí),重新從預(yù)設(shè)的變換參數(shù)池中獲取若干變換參數(shù)。在獲取若干變換參數(shù)后,服務(wù)端可以基于該若干變換參數(shù)對(duì)上述若干子驗(yàn)證碼進(jìn)行變換。需要說(shuō)明的是,服務(wù)端可以基于同一變換參數(shù)僅對(duì)同一子驗(yàn)證碼進(jìn)行變換,同時(shí),同一子驗(yàn)證碼可以僅接受同一變換參數(shù)對(duì)其進(jìn)行變換。在一個(gè)示例中,在服務(wù)端基于若干變換參數(shù)完成對(duì)若干子驗(yàn)證碼的變換后,可以保存上述若干子驗(yàn)證碼與變換該若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系,具體地,服務(wù)端可以保存上述若干子驗(yàn)證碼的編號(hào)與變換該若干子驗(yàn)證碼的若干變換參數(shù)的名稱的對(duì)應(yīng)關(guān)系。在示出的一個(gè)實(shí)施例中,可以假設(shè)上述預(yù)設(shè)的變換參數(shù)池包括6個(gè)變換參數(shù),且該6個(gè)變換參數(shù)分別為:C1;順時(shí)針旋轉(zhuǎn)160度橫向縮小20%縱向縮小30%;C2:橫向縮小10%縱向放大10%逆時(shí)針旋轉(zhuǎn)20度;C3:橫向翻轉(zhuǎn)180度縱向翻轉(zhuǎn)180度橫向縮小15%;C4:橫向向右偏移3個(gè)像素縱向向下偏移5個(gè)像素順時(shí)針旋轉(zhuǎn)35度;C5:橫向翻轉(zhuǎn)180度縱向翻轉(zhuǎn)180度橫向放大100%縱向縮小50%;C6:順時(shí)針旋轉(zhuǎn)160度橫向縮小20%縱向縮小30%??梢约僭O(shè)上述服務(wù)端將驗(yàn)證碼切分為4個(gè)子驗(yàn)證碼,則此時(shí),服務(wù)端可以從上述變換參數(shù)池中隨機(jī)獲取4個(gè)變換參數(shù),可以假設(shè)該4個(gè)變換參數(shù)分別為:C2、C3、C5以及C6。則服務(wù)端可以基于該4個(gè)變換參數(shù)對(duì)該4個(gè)子驗(yàn)證碼進(jìn)行變換,可以假設(shè)服務(wù)端分別基于變換參數(shù)C2對(duì)編號(hào)為2的子驗(yàn)證碼進(jìn)行變換;基于變換參數(shù)C3對(duì)編號(hào)為4的子驗(yàn)證碼進(jìn)行變換;基于變換參數(shù)C5對(duì)編號(hào)為1的子驗(yàn)證碼進(jìn)行變換;基于變換參數(shù)C6對(duì)編號(hào)為3的子驗(yàn)證碼進(jìn)行變換。則服務(wù)端在保存該4個(gè)子驗(yàn)證碼以及變換該4個(gè)子驗(yàn)證碼的變換參數(shù)的對(duì)應(yīng)關(guān)系的過(guò)程中,可以保存如表1所示的對(duì)應(yīng)關(guān)系表:子驗(yàn)證碼的編號(hào)變換參數(shù)的名稱1C52C23C64C3表1在本申請(qǐng)中,服務(wù)端在完成對(duì)上述若干子驗(yàn)證碼的變換后,可以根據(jù)該變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼,具體地,服務(wù)端可以先基于指定順序?qū)ι鲜鋈舾勺域?yàn)證碼進(jìn)行排序,然后基于該排序結(jié)果生成待發(fā)送驗(yàn)證碼。其中,該指定順序可以由用戶自定義設(shè)置或者為默認(rèn)設(shè)置。例如,可以假設(shè)同一初始驗(yàn)證碼可以被切分為9個(gè)子驗(yàn)證碼,則該指定順序可以為526483917。在一個(gè)實(shí)施例中,可以假設(shè)服務(wù)端在完成對(duì)如圖4所示的若干子驗(yàn)證碼的變換后,可以基于指定順序526483917對(duì)上述若干子驗(yàn)證碼進(jìn)行排序,然后,服務(wù)端可以獲得如圖5所示變換后的若干子驗(yàn)證碼的排序結(jié)果,服務(wù)端可以基于如圖5所示的排序結(jié)果按照從上到下從左到右的拼接規(guī)則將上述變換后的若干子驗(yàn)證碼拼接成如圖6所示的待發(fā)送驗(yàn)證碼。步驟104:基于所述若干變換參數(shù)生成與所述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼。在本申請(qǐng)中,服務(wù)端可以在從預(yù)設(shè)的變換參數(shù)池中獲取到若干變換參數(shù)后,基于該若干變換參數(shù)生成與上述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼。具體地,服務(wù)端可以從上述若干子驗(yàn)證碼與變換上述若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系中獲取與上述若干子驗(yàn)證碼對(duì)應(yīng)的若干變換參數(shù),然后基于該若干變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù)。其中,根據(jù)變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù)的過(guò)程為現(xiàn)有技術(shù),故,本申請(qǐng)?jiān)诖瞬辉儋樖?。在一個(gè)實(shí)施例中,可以假設(shè)服務(wù)端保存的若干子驗(yàn)證碼與變換該若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系如表1所示,則服務(wù)端可以根據(jù)上述4個(gè)子驗(yàn)證碼從上述對(duì)應(yīng)關(guān)系中獲取對(duì)應(yīng)的變換參數(shù)C5、C2、C6以及C3。然后,服務(wù)端可以基于該4個(gè)變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù):C5′、C2′、C6′以及C3′。此時(shí),服務(wù)端可以在如表1所示的對(duì)應(yīng)關(guān)系中添加逆變換參數(shù)項(xiàng),從而可以得到如表2所示的子驗(yàn)證碼、變換參數(shù)以及逆變換參數(shù)的對(duì)應(yīng)關(guān)系:表2從表2所示的對(duì)應(yīng)關(guān)系中獲取與變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干逆變換參數(shù)后,服務(wù)端可以基于該若干逆變換參數(shù)生成與上述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼,具體地,服務(wù)端可以基于上述排序結(jié)果獲取與變換后的若干子驗(yàn)證碼對(duì)應(yīng)的排序序號(hào),然后基于上述若干逆變換參數(shù)以及上述若干排序序號(hào)生成與上述若干子驗(yàn)證碼對(duì)應(yīng)的還原子代碼。在一個(gè)實(shí)施例中,可以將一個(gè)初始驗(yàn)證碼切分為如表2所示的4個(gè)子驗(yàn)證碼,且該4個(gè)子驗(yàn)證碼在分別經(jīng)過(guò)如表2所示的對(duì)應(yīng)的變換參數(shù)的變換后,可以以指定順序4231進(jìn)行排序,則服務(wù)端可以基于該排序結(jié)果獲取變換后的若干子驗(yàn)證碼的排序序號(hào),以編號(hào)為1排序序號(hào)為4的子驗(yàn)證碼為例,服務(wù)端可以基于該子驗(yàn)證碼對(duì)應(yīng)的逆變換參數(shù)C5′以及排序序號(hào)4生成與該子驗(yàn)證碼對(duì)應(yīng)的還原子代碼。在一個(gè)實(shí)施例中,該服務(wù)端生成的與該驗(yàn)證碼對(duì)應(yīng)的還原子代碼的部分內(nèi)容可以為:需要說(shuō)明的是,上述代碼僅為方便理解本申請(qǐng),故并不限制本申請(qǐng)的具體內(nèi)容。在生成與變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼后,服務(wù)端可以基于該若干還原子代碼生成還原代碼。步驟105:分別將所述待發(fā)送驗(yàn)證碼以及所述還原代碼發(fā)送至所述客戶端。在本申請(qǐng)中,服務(wù)端可以生成并發(fā)送上述待發(fā)送驗(yàn)證碼以及上述還原代碼,為了防止惡意用戶在同時(shí)獲取上述待發(fā)送驗(yàn)證碼以及上述還原代碼后,根據(jù)上述還原代碼將上述待發(fā)送驗(yàn)證碼還原為服務(wù)端生成的初始驗(yàn)證碼,從而破解該驗(yàn)證碼,服務(wù)端可以分別將上述待發(fā)送驗(yàn)證碼以及上述還原代碼發(fā)送至上述客戶端。其中,上述待發(fā)送驗(yàn)證碼以及上述還原代碼的發(fā)送間隔可以由用戶根據(jù)實(shí)際情況自定義設(shè)置。上述客戶端在分別接收到待發(fā)送驗(yàn)證碼以及還原代碼后,可以根據(jù)上述還原代碼將待發(fā)送驗(yàn)證碼還原為服務(wù)端生成的初始驗(yàn)證碼(如圖2所示),以使用戶可以根據(jù)該初始驗(yàn)證碼填寫對(duì)應(yīng)的驗(yàn)證碼答案??蛻舳丝梢詫⒂脩籼顚懙尿?yàn)證碼答案發(fā)送至服務(wù)端,以使服務(wù)端可以根據(jù)該驗(yàn)證碼答案匹配上述生成的初始驗(yàn)證碼答案,并在匹配正確時(shí),向客戶端返回對(duì)應(yīng)的內(nèi)容,從而達(dá)到對(duì)用戶進(jìn)行驗(yàn)證的效果。由上述實(shí)施例可知,在本申請(qǐng)中,服務(wù)端可以在接收與其相連的客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼,然后,服務(wù)端可以將該初始驗(yàn)證碼切分為若干子驗(yàn)證碼,并基于預(yù)設(shè)的若干變換參數(shù)對(duì)上述若干子驗(yàn)證碼進(jìn)行變換,完成對(duì)上述若干子驗(yàn)證碼的變換后,服務(wù)端可以根據(jù)該變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼,然后,服務(wù)端可以基于上述若干變換參數(shù)生成與上述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼,并分別將上述待發(fā)送驗(yàn)證碼以及上述還原代碼發(fā)送至上述客戶端。應(yīng)用本申請(qǐng)可以通過(guò)向客戶端發(fā)送變換拼接后的驗(yàn)證碼來(lái)有效阻止惡意程序?qū)︱?yàn)證碼的自動(dòng)識(shí)別,從而可以提高驗(yàn)證碼的安全性?;谂c上述方法同一的申請(qǐng)構(gòu)思,本申請(qǐng)實(shí)施例還提供了驗(yàn)證碼的發(fā)送裝置的實(shí)施例。本申請(qǐng)驗(yàn)證碼的發(fā)送裝置可以應(yīng)用于服務(wù)端上。其中,該驗(yàn)證碼的發(fā)送裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在的處理器,將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從應(yīng)用層面而言,如圖7所示,是本申請(qǐng)實(shí)施例中驗(yàn)證碼的發(fā)送裝置的硬件結(jié)構(gòu)框圖,除了圖7所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器外,還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等。請(qǐng)參考圖8,為本申請(qǐng)根據(jù)一實(shí)施例示出一種驗(yàn)證碼的發(fā)送裝置的框圖。所述裝置應(yīng)用于服務(wù)端,其中,所述服務(wù)端與客戶端相連,所述裝置包括:初始驗(yàn)證碼生成模塊810,用于接收所述客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼;切分模塊820,用于將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼;待發(fā)送驗(yàn)證碼生成模塊830,用于基于預(yù)設(shè)的若干變換參數(shù)對(duì)所述若干子驗(yàn)證碼進(jìn)行變換,并根據(jù)所述變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼;還原代碼生成模塊840,用于基于所述若干變換參數(shù)生成與所述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼;發(fā)送模塊850,用于分別將所述待發(fā)送驗(yàn)證碼以及所述還原代碼發(fā)送至所述客戶端。在一個(gè)可選的實(shí)現(xiàn)方式中,所述切分模塊820可以具體用于:基于預(yù)設(shè)的切分力度和切分方法將所述初始驗(yàn)證碼切分為若干子驗(yàn)證碼。在一個(gè)可選的實(shí)現(xiàn)方式中,所述服務(wù)端預(yù)設(shè)變換參數(shù)池,所述預(yù)設(shè)的若干變換參數(shù)為從所述預(yù)設(shè)變換參數(shù)池中隨機(jī)獲取的若干變換參數(shù)。在一個(gè)可選的實(shí)現(xiàn)方式中,所述裝置還可以包括(圖8中未示出):保存模塊,用于保存所述若干子驗(yàn)證碼與變換所述若干子驗(yàn)證碼的若干變換參數(shù)的對(duì)應(yīng)關(guān)系;所述還原代碼生成模塊840包括(圖8中未示出):獲取子模塊,用于從所述對(duì)應(yīng)關(guān)系中獲取與所述若干子驗(yàn)證碼對(duì)應(yīng)的若干變換參數(shù);逆變換參數(shù)生成子模塊,用于基于所述若干變換參數(shù)生成對(duì)應(yīng)的逆變換參數(shù);還原子代碼生成子模塊,用于基于所述若干逆變換參數(shù)生成與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的若干還原子代碼;還原代碼生成子模塊,用于基于所述若干還原子代碼生成還原代碼。在一個(gè)可選的實(shí)現(xiàn)方式中,所述待發(fā)送驗(yàn)證碼生成模塊830具體用于:基于指定順序?qū)λ鲎儞Q后的若干子驗(yàn)證碼進(jìn)行排序;基于所述排序結(jié)果生成所述待發(fā)送驗(yàn)證碼;所述還原子代碼生成子模塊具體用于:基于所述排序結(jié)果獲取與所述變換后的若干子驗(yàn)證碼對(duì)應(yīng)的排序序號(hào);基于所述若干逆變換參數(shù)以及所述若干排序序號(hào)生成與所述若干子驗(yàn)證碼對(duì)應(yīng)的還原子代碼。在本申請(qǐng)中,服務(wù)端可以在接收與其相連的客戶端發(fā)送的驗(yàn)證碼請(qǐng)求后,生成初始驗(yàn)證碼,然后,服務(wù)端可以將該初始驗(yàn)證碼切分為若干子驗(yàn)證碼,并基于預(yù)設(shè)的若干變換參數(shù)對(duì)上述若干子驗(yàn)證碼進(jìn)行變換,完成對(duì)上述若干子驗(yàn)證碼的變換后,服務(wù)端可以根據(jù)該變換后的若干子驗(yàn)證碼生成待發(fā)送驗(yàn)證碼,然后,服務(wù)端可以基于上述若干變換參數(shù)生成與上述待發(fā)送驗(yàn)證碼對(duì)應(yīng)的還原代碼,并分別將上述待發(fā)送驗(yàn)證碼以及上述還原代碼發(fā)送至上述客戶端。應(yīng)用本申請(qǐng)可以通過(guò)向客戶端發(fā)送變換拼接后的驗(yàn)證碼來(lái)有效阻止惡意程序?qū)︱?yàn)證碼的自動(dòng)識(shí)別,從而可以提高驗(yàn)證碼的安全性。上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3