M1卡id号的计算算法

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位数。

发布了93 篇原创文章 · 获赞 12 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/mcsbary/article/details/103257036
m1