終端和後台驗證碼生成

2021-07-10 09:15:35 字數 1124 閱讀 2020

終端演算法步驟:

(1) 獲取終端號n,如果為空,則使用字串(0123456789abcdef)作為預設的終端號;如果不為空,則補充到16個字元,填充f(後補)。

(2) 取初始向量vector(8位元組0);

(3) 終端號n左8位元組,與vector異或,得到r1

(4) 設定3組固定金鑰key(8位元組,後台與終端需商討,此金鑰需保持一致,暫定如圖4所示),根據四個位元組隨機數radomnum%3的值取對應組金鑰key[radomnum%3],與r1參與des運算,得到結果r2

(5) r2與終端號n右8位元組進行異或,得到r3

(6) r3與(4)終端金鑰key進行des運算,得到r4

(7) r4與隨機數(後四個位元組補0x11,0x22,0x33,0x44)進行異或得到r5

(8) r5與(4)的金鑰key進行des運算得到r6

(9) 根據隨機數radomnum%3計算偏移,取r6中的3個位元組出來,轉換為6個字元的ascii碼

(10) 查詢對映表1,若有a-f的字母,經過對映表後轉換為相應數字,最終得到6個字元的密碼

注:固定金鑰key和對映錶可自定~

後台演算法步驟:

(1) 後台從維護人員處獲取機身碼n和乙個四位(即四個位元組)的隨機數radomnum。

(2) 獲取到的終端號n若不足16位,則填充f(後補)。

(3) 取初始向量vector(8位元組0);

(4) 終端號n左8位元組,與vector異或,得到r1

(5) 設定3組固定金鑰key(8位元組,後台與終端需商討,此金鑰需保持一致,暫定如圖4所示),根據隨機數radomnum%3的值取對應組金鑰key[radomnum%3],與r1參與des運算,得到結果r2

(6) r2與終端號n右8位元組進行異或,得到r3

(7) r3與(5)終端金鑰key進行des運算,得到r4

(8) r4與隨機數radomnum(後四個位元組補0x11,0x22,0x33,0x44)進行異或得到r5

(9) r5與(5)的金鑰key進行des運算得到r6

(10) 根據隨機數radomnum%3計算偏移,取r6中的3個位元組出來,轉換為6個字元的ascii碼

驗證碼一(驗證碼生成)

根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...

生成驗證碼

在此處放置使用者 以初始化頁面 bitmap image new bitmap int math.ceiling validatenum.length 12.5 22 graphics g graphics.fromimage image tryfinally region web 窗體設計器生成的...

生成驗證碼

生成驗證碼的類 using system using system.data using system.configuration using system.collections using system.web using system.web.security using system.web...