【技术实现步骤摘要】
一种磁条卡信息的解析方法及装置
本专利技术涉及信息安全领域,尤其涉及一种磁条卡信息的解析方法及装置。
技术介绍
磁条卡上的信息以位的形式存在,在刷卡时,不同的人操作习惯不同,有人喜欢正向刷卡,有人喜欢反向刷卡;而对于两面都有磁道的卡,还会出现正面朝前刷卡和反面朝前刷卡的情况,而且不同磁道的字符具有不同的位宽。所以,如何将双面磁条卡的磁条解析出正确的信息是现有技术亟待解决的问题。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种磁条卡信息的解析方法及装置。本专利技术提供了一种磁条卡信息的解析方法,包括:步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;步骤S2:所述解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;步骤S3:所述解析装置将所述可识别数据转换成预定格式的数据。其中,所述步骤S2中所述解析装置根据预设解析规则对获取到的数据进行解析,并根据校验位判断解析是否成功,包括:所述解析装置分别以磁道的正向和反向,按照预设解析规则解析获取到的第一个数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则继续分别以正向和反向,按照预设解析规则解析其他数据,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据。其中,所述步骤S2具体包括:步骤S2-11:所述解析装置分别以磁道的正向和反向,按照预设解析规则对所述第一数据进行解析, ...
【技术保护点】
一种磁条卡信息的解析方法,其特征在于,包括:步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;步骤S2:所述解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;步骤S3:所述解析装置将所述可识别数据转换成预定格式的数据。
【技术特征摘要】
1.一种磁条卡信息的解析方法,其特征在于,包括:步骤S1:解析装置通过相对设置的两个磁头从磁条卡的两面获取至少三个数据;步骤S2:所述解析装置根据预设解析规则分别对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,执行步骤S3,否则报错,结束;步骤S3:所述解析装置将所述可识别的数据转换成预定格式的数据;所述解析装置根据预设规则对获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,包括:步骤H1:所述解析装置判断刷卡方向是否为反向,是则执行步骤H2,否则执行步骤H4;步骤H2:所述解析装置读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;步骤H3:所述解析装置判断所述新数据中最低位上的数据是否为1,是则执行步骤H4,否则报错,结束;步骤H4:所述解析装置根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;步骤H5:所述解析装置对当前字进行奇偶校验,并判断校验是否成功,是则执行步骤H6,否则报错,结束;步骤H6:所述解析装置更新字个数,并判断所述字个数是否等于预设值,是则执行步骤H7,否则执行步骤H8;步骤H7:所述解析装置判断当前字是否为正确的数据头,是则执行步骤H8,否则报错,结束;步骤H8:所述解析装置判断当前字的上一个字是否为结束标志,是则执行步骤H11,否则执行步骤H9;步骤H9:所述解析装置判断所述读取到的数据是否处理完成,是则执行步骤H12,否则执行步骤H10;步骤H10:所述解析装置根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,返回步骤H5;步骤H11:所述解析装置判断所述字个数是否大于所述预设值,是则执行步骤H12,否则报错,结束;步骤H12:所述解析装置判断所述结束标志是否正确,是则执行步骤H13,否则报错,结束;步骤H13:所述解析装置对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,否则解析失败。2.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:步骤S2-11:所述解析装置分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功是则执行步骤S2-12,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-12,如两次都解析不成功则执行步骤S2-13;步骤S2-12:所述解析装置将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,执行步骤S2-13;步骤S2-13:所述解析装置判断是否已知刷卡方向,是则执行步骤S2-14,否则执行步骤S2-15;步骤S2-14:所述解析装置根据已知的刷卡方向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;步骤S2-15:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-16,如两次都解析不成功则执行步骤S3;步骤S2-16:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。3.如权利要求2所述的方法,其特征在于,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;所述步骤S2包括:步骤A1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A2,如两次都解析不成功则执行步骤A3;步骤A2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A5;步骤A3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A4,如两次都解析不成功则执行步骤A5;步骤A4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤A5;步骤A5:所述解析装置判断是否已知刷卡方向,是则执行步骤A6,否则执行步骤A7;步骤A6:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A8;步骤A7:所述解析装置分别以磁道的正向或反向按照第二磁道格式解析第二数据,将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤A8;步骤A8:所述解析装置判断是否已知刷卡方向,是则执行步骤A9,否则执行步骤A12;步骤A9:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤A10,否则执行步骤A11;步骤A10:所述解析装置以所述已知刷卡方向按照第三磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;步骤A11:所述解析装置以所述已知刷卡方向按照第二磁道格式解析第三数据,将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;步骤A12:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A13,如两次都解析不成功则执行步骤A14;步骤A13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤A16;步骤A14:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤A15,如两次都解析不成功则执行步骤A16;步骤A15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤A16;步骤A16:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。4.如权利要求2所述的方法,其特征在于,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;所述步骤S2包括:步骤B1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B2,如两次都解析不成功则执行步骤B3;步骤B2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B5;步骤B3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B4,如两次都解析不成功则执行步骤B5;步骤B4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B5;步骤B5:所述解析装置判断是否已知刷卡方向,是则执行步骤B6,否则执行步骤B11;步骤B6:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B7,否则执行步骤B9;步骤B7:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B8,否则执行步骤B15;步骤B8:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B15;步骤B9:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B10,否则执行步骤B15;步骤B10:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B15;步骤B11:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B12,如两次都解析不成功则执行步骤B13;步骤B12:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B15;步骤B13:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B14,如两次都解析不成功则执行步骤B15;步骤B14:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B15;步骤B15:所述解析装置判断是否已知刷卡方向,是则执行步骤B16,否则执行步骤B21;步骤B16:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B17,否则执行步骤B19;步骤B17:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B18,否则执行步骤B25;步骤B18:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B25;步骤B19:所述解析装置以所述已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B20,否则执行步骤B25;步骤B20:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤B25;步骤B21:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B22,如两次都解析不成功则执行步骤B23;步骤B22:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向上,并设置刷卡方向,执行步骤B25;步骤B23:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B24,如两次都解析不成功则执行步骤B25;步骤B24:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,设置已知刷卡方向和磁条卡朝向为正面向下,并设置刷卡方向,执行步骤B25;步骤B25:所述解析装置判断是否已知刷卡方向,是则执行步骤B26,否则执行步骤B31;步骤B26:所述解析装置判断所述磁条卡朝向是否为正面向上,是则执行步骤B27,否则执行步骤B29;步骤B27:所述解析装置以所述已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B28,否则执行步骤B35;步骤B28:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;步骤B29:所述解析装置以所述已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤B30,否则执行步骤B35;步骤B30:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;步骤B31:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B32,如两次都解析不成功则执行步骤B33;步骤B32:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤B35;步骤B33:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤B34,如两次都解析不成功则执行步骤B35;步骤B34:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤B35;步骤B35:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。5.如权利要求2所述的方法,其特征在于,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;所述步骤S2包括:步骤C1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C2,如两次都解析不成功则执行步骤C3;步骤C2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置所述磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C5;步骤C3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C4,如两次都解析不成功则执行步骤C5;步骤C4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C5;步骤C5:所述解析装置判断是否已知刷卡方向,是则执行步骤C6,否则执行步骤C16;步骤C6:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C7,否则执行步骤C9;步骤C7:所述解析装置以已知刷卡方向,分别按照第二磁道格式、第三磁道格式、所述第三磁道格式解析对应的所述原始数据缓存区中的第二数据、所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C8,如所有数据都解析不成功则执行步骤C42;步骤C8:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到所述磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;步骤C9:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤C10,否则执行步骤C12;步骤C10:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C11,否则执行步骤C12;步骤C11:所述解析装置将第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C12;步骤C12:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C13,否则执行步骤C14;步骤C13:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C14;步骤C14:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C15,否则执行步骤C42;步骤C15:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;步骤C16:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C17,如两次都解析不成功则执行步骤C18;步骤C17:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C20;步骤C18:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C19,如两次都解析不成功则执行步骤C20;步骤C19:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C20;步骤C20:所述解析装置判断是否已知刷卡方向,是则执行步骤C21,否则执行步骤C28;步骤C21:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C22,否则执行步骤C24;步骤C22:所述解析装置以已知刷卡方向,按照第三磁道格式分别解析所述原始数据缓存区中的第三数据、所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如至少有一个数据解析成功则执行步骤C23,否则执行步骤C42;步骤C23:所述解析装置将解析成功的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的对应磁道区域中,更新对应磁道区域中的数据的长度,执行步骤C42;步骤C24:所述解析装置以已知刷卡方向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C25,否则执行步骤C26;步骤C25:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤C26;步骤C26:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C27,否则执行步骤C42;步骤C27:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;步骤C28:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C29,如两次都解析不成功则执行步骤C30;步骤C29:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,设置磁条卡朝向为正面向上、已知刷卡方向,并设置刷卡方向,执行步骤C32;步骤C30:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C31,如两次都解析不成功则执行步骤C32;步骤C31:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,设置磁条卡朝向为正面向下、已知刷卡方向,并设置刷卡方向,执行步骤C32;步骤C32:所述解析装置判断是否已知刷卡方向,是则执行步骤C33,否则执行步骤C38;步骤C33:所述解析装置判断磁条卡朝向是否为正面向上,是则执行步骤C34,否则执行步骤C36;步骤C34:所述解析装置以已知刷卡方向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C35,否则执行步骤C42;步骤C35:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新第三磁道区域中的数据的长度,执行步骤C42;步骤C36:所述解析装置以已知刷卡方向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,是则执行步骤C37,否则执行步骤C42;步骤C37:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;步骤C38:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C39,如两次都解析不成功则执行步骤C40;步骤C39:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤C42;步骤C40:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤C41,如两次都解析不成功则执行步骤C42;步骤C41:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤C42;步骤C42:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。6.如权利要求1所述的方法,其特征在于,所述步骤S2具体包括:步骤S2-21:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-22,如两次都解析不成功则执行步骤S2-23;步骤S2-22:所述解析装置将所述第一数据的解析结果转换成可识别的数据,执行步骤S2-23;步骤S2-23:所述解析装置分别以磁道的正向和反向,按照预设解析规则对获取到的其他数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则执行步骤S2-24,如两次都解析不成功则执行步骤S3;步骤S2-24:所述解析装置将解析成功的解析结果转换成可识别的数据,执行步骤S3。7.如权利要求6所述的方法,其特征在于,所述步骤S1中所述解析装置通过两个磁头从磁条卡的两面获取三个数据;所述步骤S2包括:步骤D1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D3,如两次都解析不成功则执行步骤D2;步骤D2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,执行步骤D5;步骤D3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D4,如两次都解析不成功则执行步骤D5;步骤D4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D5;步骤D5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D6,如两次都解析不成功则执行步骤D7;步骤D6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D7;步骤D7:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D8,如两次都解析不成功则执行步骤D9;步骤D8:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,执行步骤D11;步骤D9:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析获取到的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤D10,如两次都解析不成功则执行步骤D11;步骤D10:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,执行步骤D11;步骤D11:所述解析装置判断所述磁条卡临时缓存区的数据的长度是否为0,是则报错,结束;否则执行步骤S3。8.如权利要求6所述的方法,其特征在于,所述步骤S1包括:所述解析装置通过一个磁头从磁条卡的一面获取两个数据,通过另一个磁头从所述磁条卡的另一面获取两个数据,并将获取到的四个数据存储到原始数据缓存区中;所述步骤S2包括:步骤E1:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E2,如两次都解析不成功则执行步骤E3;步骤E2:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E5;步骤E3:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第一数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E4,如两次都解析不成功则执行步骤E5;步骤E4:所述解析装置将所述第一数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E5;步骤E5:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E6,如两次都解析不成功则执行步骤E7;步骤E6:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E7;步骤E7:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E8,否则执行步骤E10;步骤E8:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第二数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E9,如两次都解析不成功则执行步骤E10;步骤E9:所述解析装置将所述第二数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E10;步骤E10:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E11,否则执行步骤E13;步骤E11:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E12,如两次都解析不成功则执行步骤E13;步骤E12:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E13;步骤E13:所述解析装置判断第一磁道区域中的数据的长度是否为0,是则执行步骤E14,否则执行步骤E16;步骤E14:所述解析装置分别以磁道的正向和反向按照第一磁道格式解析所述原始数据缓存区中的第三数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E15,如两次都解析不成功则执行步骤E16;步骤E15:所述解析装置将所述第三数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第一磁道区域中,更新所述第一磁道区域中的数据的长度,执行步骤E16;步骤E16:所述解析装置判断第三磁道区域中的数据的长度是否为0,是则执行步骤E17,否则执行步骤E19;步骤E17:所述解析装置分别以磁道的正向和反向按照第三磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E18,如两次都解析不成功则执行步骤E19;步骤E18:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第三磁道区域中,更新所述第三磁道区域中的数据的长度,执行步骤E19;步骤E19:所述解析装置判断第二磁道区域中的数据的长度是否为0,是则执行步骤E20,否则执行步骤E22;步骤E20:所述解析装置分别以磁道的正向和反向按照第二磁道格式解析所述原始数据缓存区中的第四数据,并根据解析结果中预定位置的校验位判断是否解析成功,如只有一次解析成功则执行步骤E21,如两次都解析不成功则执行步骤E22;步骤E21:所述解析装置将所述第四数据的解析结果转换成可识别的数据,并将转换后的可识别数据保存到磁条卡临时缓存区的第二磁道区域中,更新所述第二磁道区域中的数据的长度,执行步骤E22;步骤E22:所述解析装置判断所述磁条卡临时缓存区中的数据的长度是否为0,是则报错,结束,否则执行步骤S3。9.一种磁条卡信息的解析装置,其特征在于,包括:获取模块,包括第一磁头子模块和第二磁头子模块,所述第一磁头子模块和第二磁头子模块相对设置于卡槽的两侧,所述第一磁头子模块和第二磁头子模块用于从磁条卡的两面获取至少三个数据;解析判断模块,用于根据预设解析规则分别对所述获取模块获取到的数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如至少有一个数据解析成功则将解析成功的解析结果转换成可识别的数据,否则触发报错模块;转换模块,用于将所述可识别的数据转换成预定格式的数据;所述报错模块,用于在所述解析判断模块判断为否时报错;所述解析判断模块,包括:第三判断子模块,用于判断刷卡方向是否为反向,是则触发读取逆序子模块,否则触发第一作为子模块;所述读取逆序子模块,用于读取获取到的一个数据,将读取到的数据逆序去掉高位上的0后得到新数据;第四判断子模块,用于判断所述新数据中最低位上的数据是否为1,是则触发第一作为子模块,否则触发所述报错模块;所述第一作为子模块,用于根据当前磁道的字段格式从读取到的数据的最低位开始获取一个字作为当前字;第一校验判断子模块,用于对当前字进行奇偶校验,并判断校验是否成功,是则触发更新判断子模块,否则触发所述报错模块;所述更新判断子模块,用于更新字个数,并判断所述字个数是否等于预设值,是则触发第五判断子模块,否则触发第六判断子模块;所述第五判断子模块,用于判断当前字是否为正确的数据头,是则触发第六判断子模块,否则触发所述报错模块;所述第六判断子模块,用于判断当前字的上一个字是否为结束标志,是则触发第八判断子模块,否则触发第七判断子模块;所述第七判断子模块,用于判断所述读取到的数据是否处理完成,是则触发第九判断子模块,否则触发第二作为子模块;所述第二作为子模块,用于根据当前磁道的字段格式从所述读取到的数据中获取下一个字作为当前字,触发所述第一校验判断子模块;所述第八判断子模块,用于判断所述字个数是否大于所述预设值,是则触发第九判断子模块,否则触发所述报错模块;所述第九判断子模块,用于判断所述结束标志是否正确,是则触发第二校验判断子模块,否则触发所述报错模块;所述第二校验判断子模块,用于对所述读取到的数据中的所有字进行奇偶校验,并判断校验是否成功,是则解析成功,触发第五转换子模块,否则触发所述报错模块;所述第五转换子模块,用于将解析成功的解析结果转换成可识别的数据。10.如权利要求9所述的装置,其特征在于,所述解析判断模块还包括:第一解析判断子模块,用于分别以磁道的正向和反向,按照预设解析规则对第一数据进行解析,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发第一转换子模块,如两次都解析不成功则更换解析规则,分别以正向和反向,按照更换后的解析规则重新解析第一数据,并根据解析结果中预定位置的校验位判断解析是否成功,如只有一次解析成功则触发所述第一转换子模块,如两次都解析不成功则触发第一判断子模块;所述第一转换子模块,用于将所述第一数据的解析结果转换成可识别的数据,设置已知刷卡方向,触发第一判断...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。