银联卡中关于CVN/CVN2/ICVN的区别

时间:2022-02-17 07:09:54

银联China Union Pay,是中国唯一合法的卡组织机构,同时也是EMVCo成员。关于银联卡中CVN/CVN2/ICVN的区别,刚开始我自己不了解,但经过查找资料和请教其他人,对它们的概念也渐渐明朗起来,故整理记录下来,供有兴趣的人们也了解。

CVN,英文全称是Card Verification Number,卡片验证码/安全码。根据用途不同,CVN可以细分为CVN、CVN2、ICVN,其在卡片中存放位置略有不同。

CVN

CVN2

ICVN

存储位置 磁条中磁道1和磁道2 打印在卡背面签名条上(7位,通常和卡号后四位一起打印)

芯片中的磁道1和磁道2等效数据(TAG9F1F和TAG57)

CVN:写在磁道1和磁道2的任意数据域中,适用于通过磁条界面进行的有卡交易;

CVN2:用于在网络/电话等渠道上完成的无卡支付交易场景中对卡片的合法性进行验证;

ICVN:用于替代写入芯片的磁道数据中的CVN,以防不法分子通过读取芯片磁道等效数据,获取真正的磁道数据,制卡伪磁卡。但对于复合卡,终端已不支持降级交易,所以我个人认为,此种设置已失去了原有的价值。

CVN值的计算步骤:

计算CVN时使用二个64位的验证密钥,在这里称为KeyA和KeyB。

1)计算CVN的数据源包括:主账号(PAN)、卡失效日期(YYMM)和服务码,从左至右顺序编排;

2)将上述数据源扩展成128位二进制数据,不足128位右补0;

3)将128位二进制数据分成两个64位的数据块,最左边的64位为Block1,最右边的64位为Block2;

4)使用KeyA对Block1进行加密;

5)将Block1的加密结果与Block2进行异或,使用KeyA对异或结果进行加密;

6)使用KeyB对上一步加密结果进行解密;

7)使用KeyA对上一步解密结果进行加密;

8)从左至右将加密结果中的数字(0-9)抽出,组成一组数字;

9)从左至右将加密结果中的字符(A-F)抽出,减10后将余数组成一组数字,排列在步骤8的数字之后

10)步骤9的左边第一组三位数即为CVN值。

银联卡中关于CVN/CVN2/ICVN的区别

注:

1、CVN2的计算方法与CVN的计算方法一致,但计算CVN时,有用到服务码,而计算CVN2,不需要用到服务码;

2、ICVN的计算方法和CVN的计算方法一致,但计算ICVN时,服务码为999;

3、尽管计算方法不一样,CVN2、ICVN的计算结果可能会与CVN相同,这是允许的。

--------------------- 本文来自 chong89125 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/chong89125/article/details/72918140?utm_source=copy

银联卡中关于CVN/CVN2/ICVN的区别的更多相关文章

  1. 如何使用银联卡充值美元到BTC-E以及比特币搬砖教程

    1,名词解释 搬砖:就是在价格低的平台买入比特币,然后转移到价格高的平台卖出, 一般而言,BTC-E是国外三大比特币交易所中比特币单价最低的一个站,因为其需要用美元充值,相对不方便.之前国内比特币价格 ...

  2. github student pack中的digital ocean可以使用银联卡支付

    申请了 github student pack却因为一直没有visita信用卡,而无法使用digital ocean的 $50,一直到今天,用中国银行借记卡成功支付. 方法是: (1)注册paypal ...

  3. 【记录】尝试用android-logging-log4j去实现log输出内容到sd卡中的文件的功能

    [背景] 折腾: [记录]给Android中添加log日志输出到文件 期间,已经试了: [记录]尝试用android中microlog4android实现log输出到文件的功能 但是不好用. 然后就是 ...

  4. Android中使用SQLiteOpenHelper管理SD卡中的数据库

    使用Android中自带的SQLiteOpenHelper可以完成数据库的创建与管理,但有两点局限: (1)数据库创建在内存卡中,大小受限,创建位置位于/data/data/应用程序名/databas ...

  5. 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件

    [源码下载] 与众不同 windows phone (37) - 8.0 文件系统: StorageFolder, StorageFile, 通过 Uri 引用文件, 获取 SD 卡中的文件 作者:w ...

  6. Android--手持PDA读取SD卡中文件

    近两年市场上很多Wince设备都开始转向Android操作系统,最近*使用Android开发PDA手持设备.主要功能是扫描登录,拣货,包装,发货几个功能.其中涉及到商品档的时候大概有700左右商品要 ...

  7. android 读取sd卡中的图片

    一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限  -->    <uses-permission android:name="android.perm ...

  8. simtrace之探秘SIM卡中的世界

    0×00 关于SIM卡 众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块.不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于j ...

  9. 转-Android 之 使用File类在SD卡中读取数据文件

    如果需要在程序中使用sdcard进行数据的存储,那么需要在AndroidMainfset.xml文件中 进行权限的配置: Java代码:   <!-- 在sd中创建和删除文件的权限 --> ...

随机推荐

  1. 【UI插件】开发一个简单日历插件(上)

    前言 最近开始整理我们的单页应用框架了,虽然可能比不上MVVM模式的开发效率,也可能没有Backbone框架模块清晰,但是好歹也是自己开发出来 而且也用于了这么多频道的东西,如果没有总结,没有整理,没 ...

  2. toolsqa-IMPORTANCE

    http://toolsqa.com/cucumber/cucumber-options/

  3. gnuplot 的安装

    需要同时安装gnuplot和gnuplot-x11才能画出图 sudo apt-get install gnuplot gnuplot-x11 gnuplot not showing the grap ...

  4. JAVA程序1&comma;1&comma;2&comma;3&comma;5&comma;8&comma;13&comma;21&period;&period;&period;&period;第30个是什么&period;&period;&period;&quest;

    解题思路:从第3个数字开始,后一个数字是前2个数字的和public class text{ public static void main(String[] args) { int num1=1,nu ...

  5. HDU 3998 Sequence (最长上升子序列&plus;最大流)

    参考链接:http://www.cnblogs.com/gentleh/archive/2013/03/30/2989958.html 题意:求一个序列的最长上升子序列,及其个数(注意:两个最长上升子 ...

  6. L012-oldboy-mysql-dba-lesson12

    L012-oldboy-mysql-dba-lesson12 graphite监控mysql可以达到秒级别 Zabbix for mysql NagiosXI daemontools linux    ...

  7. C&num; 操作Word 中的OLE——插入、编辑、读取 OLE

    概述 OLE,Object Linking and Embedding,即对象连接与嵌入.我们在设计程序时,OLE可以用来创建复合文档,把文字.声音.图像.表格.应用程序等类型的信息组合在一起,在Wo ...

  8. 错误处理:error&lpar;0&rpar; error portability&colon;3 this xilinx application has run out of memory has encountered a memory conflict

    在FPGA侧提供了一个gp0,gp1各占1m内存的版本后.生成mcs版本,在下载版本时报错: error(0) error portability:3 this xilinx application ...

  9. Linux管道思想

    1.Linux管道 {{book | upper |lower | capfirst}} 含义:就是把前一个命令的结果当成后一个命令的输入.然后在下一个管道中输出满足条件的数据,如此继续数据的流向运动 ...

  10. FASTQ 数据质量统计工具

    主流工具: FastQC fqcheck readfq 拿到测序数据的第一步就是做质量控制 fqcheck之后得到的结果: 它会统计每条reads,按read 1-100位点计算每个位置的ACGTN含 ...