uid卡号算法
1、读取到卡的UID,如:33:6c:57:16
2、对UID的4位顺序置反:16:57:6c:33
3、对该十六位数进行取反加1: ~0x16576c33+1=-374828083
4、取绝对值,即:374828083
韦根26、34的计算-EM卡
EM卡10位转8位卡号的原理和方法
键盘口数据转换成韦根码方法介绍
1、韦根26:
例如:
条形码数字为[123456789012]转换成韦根26码为[153,06676],其中153=(123456789012 / 65536) % 256,
06676 = 123456789012 % 65536;
注:用电脑计算器计算时,须将电脑计算器转为科学计算模式(点菜单[查看]->[科学型]),%用mod键表示
2、韦根34:
例如:
条形码数字为[123456789012]转换成韦根26码为[48793,06676],其中
48793=(123456789012/65536)%65536,
06676 = 123456789012 % 65536;
原理:
8位卡号才是wiegand26国际标准的卡号输出方式,有些国内考勤机厂商采用直接读卡号的内码的方式做卡号,这种读法是10位数.
例如一张卡上印刷如下:
0013961168 213 02000
10位数卡号3+5 8位数卡号
10位数卡号0013961168 转换为16进制是00 D5 07 D0
8位数卡号213 02000 前3位数213转换为16进制是D5 后五位数02000 转换为16进制是07 D0
大家可以发现规律:首先10位数转换为16进制是4个字节,第一个字节不要,第二个字节转换为8位卡号的前3位,第三个和第四个字节一起转换位8位卡号的后5位数。