Skip to main content

密码加密算法

ANSI X9.8 Format(带主帐号信息)

  • PIN BLOCK 格式:等于 PIN 按位异或主帐号
  • PIN 格式:(个人识别码 Personal Identity Number)总共有8个byte长度,分为两个部分;(类似数据包的格式)

    Byte 1 PIN的长度
    Byte 2 – Byte 3/4/5/6/7    4--12个PIN(每个PIN占4个BIT)
    Byte4/5/6/7/8 – Byte 8 FILLER “F” (每个“F“占4个BIT)
    
  • PAN(主帐号 Primary Account Number)同样包含8个byte,格式如下:

    Byte 1 — Byte 2 0x00 0x00
    Byte 3 — Byte 8 12个主帐号字符(最后一位为校验位)
    12位字符主帐号的取法:取主帐号的右12位(不包括最右边的校验位),不足12位左补“0X00”。
    

加密举例

  • 明文 PIN:123456
  • 主帐号 PAN:123456789012345678
  • 截取下的主帐号为:678901234567 (最后一位校验位8的前12位字符为截取的主帐号)
  • 则用于PIN加密的主帐号为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
  • 则 PIN BLOCK (PIN按位异或主帐号PAN)
    即是为:  0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
    异或上:  0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
    结果为:  0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98