PIN BLOCK
来源:互联网 发布:js压缩还原 编辑:程序博客网 时间:2024/05/01 23:07
Personal Identification Number(PIN) Data, 也就是密码。 不过它既不是简单的存储密码,也不是密码的密文,而是pinblock。
ANSI X9.8 Format(带主账号信息)
PIN BLOCK 格式等于 PIN 按位异或主账号:
PIN 格式:
BYTE 1 PIN的长度
BYTE 2 – BYTE 3/4/5/6/7 4--12个PIN(每个PIN占4个BIT)
BYTE 4/5/6/7/8 – BYTE 8 FILLER “F” (每个“F“占4个BIT)
主账号格式:
BYTE 1 — BYTE 2 0X0000
BYTE 3 — BYTE 8 12个主账号
12位主账号的取法:取主账号的右12位(不包括最右边的校验位),不足12位左补“0X00”。
例如:明文 PIN 123456(一般密码为六位或者四位)
设:磁卡上的主账号为:123456789012345678
截取下的主账号为:678901234567 则
用于PIN加密的主账号为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
则 PIN BLOCK 为
0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
异或 0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
结果 0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98
最后用3des对pin-block加密,即得到可以传输的密码密文。
ANSI X9.8 Format(带主账号信息)
PIN BLOCK 格式等于 PIN 按位异或主账号:
PIN 格式:
BYTE 1 PIN的长度
BYTE 2 – BYTE 3/4/5/6/7 4--12个PIN(每个PIN占4个BIT)
BYTE 4/5/6/7/8 – BYTE 8 FILLER “F” (每个“F“占4个BIT)
主账号格式:
BYTE 1 — BYTE 2 0X0000
BYTE 3 — BYTE 8 12个主账号
12位主账号的取法:取主账号的右12位(不包括最右边的校验位),不足12位左补“0X00”。
例如:明文 PIN 123456(一般密码为六位或者四位)
设:磁卡上的主账号为:123456789012345678
截取下的主账号为:678901234567 则
用于PIN加密的主账号为:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
则 PIN BLOCK 为
0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF
异或 0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67
结果 0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98
最后用3des对pin-block加密,即得到可以传输的密码密文。
0 0
- PIN BLOCK
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
- pin
- Pin Connections
- PIN初探
- pin 回顾
- pin技巧
- PIN PUK1
- PIN学习
- PIN码
- MAC && PIN
- Pin 架构
- Block
- block
- Block
- block
- matlab 运行 AlexNet
- WPF 中的 loaded 事件和 Initialized 事件
- Python学习第一天,第一次接触
- HeapSort
- JSP 自定义标签实现数据精度格式化
- PIN BLOCK
- java多线程(15)--线程池ThreadPoolExecutor使用
- RESTLET开发实例
- Leetcode 179 Largest number (最大的数字 和最小的数字)
- USB Gadget设备驱动开发(四) BusHound 抓包分析
- libcef 相关资料记录
- CSS3 box-sizing 属性
- Mysql5.7.17 安装使用及过程中会出现的问题v1.2
- 接口API与抽象类AbstractClass的区别