银行卡密码键盘 SM4 ECB模式+ANSI X9.8 格式标准(带主账号信息)PIN 加解密示例

本文提供了一个银行卡密码加解密的示例,使用了SM4 ECB模式和ANSI X9.8格式标准。首先介绍了如何根据主账号信息计算PIN_BLOCK,然后通过测试主密钥解密工作密钥,并验证解密的正确性。接着,使用工作密钥对PIN_BLOCK进行加密,得出用户密码密文。同时讲解了主密钥、工作密钥的概念以及加密的基本知识。

1.软加解密示例

————————————————————————————————————————————------
已知数据:
银行测试主密钥TMK: 1234567890ABCDEFABCDEF0987654321
通过签到接口得到:
工作密钥密文KeyValue :3D66234C49E4296FF9C78D8BACBD6A76
工作密钥校验值CheckValue : 861E83E31FAEBF10

——————————————————————————————————————————————

1.计算PIN_BLOCK,方法为ANSI X9.8 格式标准(带主账号信息)
银行卡密码明文 PIN 123654
账号:6230606601007726888

主账号和PIN 按位异或(32位)
pin: 06123654FFFFFFFFFFFFFFFFFFFFFFFF
PAN: 00000000000000000000660100772688
XOR: 06123654FFFFFFFFFFFF99FEFF88D977

即 PIN_BLOCK 为 06123654FFFFFFFFFFFF99FEFF88D977

跟银行确认好,PIN_BLOCK 是 16位还是32位的。

在这里插入图片描述


2.把签到接口的返回值 KeyValue(工作密钥密文)由密文解密为明文,
方法为SM4 ecb模式

解密数据 3D66234C49E4296FF9C78D8BACBD6A76 (工作密钥密文)
解密密钥 1234567890ABCDEFABCDEF0987654321 (测试主密钥)
结果: F351D490994603795C6EBEE8FAEBB481

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值