銀行常用加密算法PINBlock加密

1.首先知道PIN的數據格式和如何獲取PIN

PIN的格式應符合ANSI X9.8 Format(帶主賬號信息)

PIN的長度爲4-12位格式:LV

位置

長度

內容

1

1字節

PIN長度

2

7字節

4-12位PIN(每個字符佔4個BIT,不足右補F)

若只得到PIN碼,則按照如下格式壓縮成PIN格式

PIN長度(1 個字節)4-12位PIN(每個字符佔4個BIT,不足右補F)(7 個字節)
如:0x06123456FFFFFFFFFF 

2.PAN數據格式

PAN是從主賬號的最後一位檢驗位前向左取12位,此中數據都是BCD碼格式

位置

長度

內容

1

2字節

%H0000

2

6字節

取主賬號的右邊數第二位開始向左12 位


0000(2個字節)12位PAN(每個字符佔4個BIT)(6 個字節)
如:主賬號:123456789012345678

       取得PAN:0x0000678901234567

3.PIN和PAN異或得到PINBLock

將Hex格式的PIN和PAN異或即可得到要求結果

PIN: 0x06123456FFFFFFFF 

PAN:0x0000678901234567

異或: 0x061253DFFEDCBA98

4.根據需要與對應密鑰加密即可得最終的加密PINBLOCK數據


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章