本发明专利技术公开了一种全局唯一SN码生成方法、电子设备和存储介质,涉及安全编码领域,所述方法包括如下步骤:获取产品信息,包括如下信息中的至少一种:工厂、品类、年月、日周、流水号、子流水号;根据所述产品信息和预先设置的对照表映射得到SN实际值;根据所述SN实际值生成对照值,再根据所述对照值进行奇偶校验得到SN校验位。本发明专利技术使得用户可以自己配置SN每一位权重、进制、余数码值、以及进制字符确逻辑上连续的SN流水号看起来毫无规律,校验位更是可以通过改变上面条件得出不同结果,确保公司SN码生成规则如果被破解,公司可以通过修改上述条件,改变SN码生成规律;有效的保障SN码的安全性、唯一性。唯一性。唯一性。
【技术实现步骤摘要】
一种全局唯一SN码生成方法、电子设备和存储介质
[0001]本专利技术涉及安全编码领域,具体涉及一种全局唯一SN码生成方法、电子设备和存储介质。
技术介绍
[0002]基于数据压缩技术高效批量生成海量SN码,海量规模下可以保证SN的唯一性和有效性。SN可以用极短的字符记录多个信息,保证SN可溯源,可验真伪,可防窜货,肉眼识别字符所属信息及其直观,如我们现有SN仅仅17位内含版本号、工厂、日期信息、流水号、子流水号、校验码,并且在此单个条件的SN容量可达千亿规模。
[0003]如果某制造商或者售卖商在某一产品销售达到一定量的时候,夸区域售卖或者不同渠道销售的产品如果被肆意窜货,产品的定价权将受到严重威胁,并且难以维持不同地区差异化销售的目标,可能会严重损害公司及消费者利益,采用“一码一货”的办法,可以将商品信息记录在库,消费者购买完商品之后,可以根据此码验证此产品的货源安全。
[0004]现如今市面上也有一些SN算法实现的SN码,但是几乎都有编码过长、记录信息有限、容量不足、易于伪造等问题。市场上亟需一种能够解决上述问题的SN算法。
技术实现思路
[0005]本专利技术提供一种全局唯一SN码生成方法、电子设备和存储介质,能够解决现有的SN码的编码过长、记录信息有限、容量不足、易于伪造问题。本专利技术提供以下技术方案来解决上述技术问题:
[0006]一种全局唯一SN码生成方法,包括如下步骤:
[0007]获取产品信息,包括如下信息中的至少一种:工厂、品类、年月、日周、流水号、子流水号;
[0008]根据所述产品信息和预先设置的对照表映射得到SN实际值;
[0009]根据所述SN实际值生成对照值,再根据所述对照值进行奇偶校验得到SN校验位。
[0010]较佳地,获取产品信息之前还包括如下步骤:
[0011]利用redis的SETNX命令配置分布式锁。
[0012]较佳地,根据所述产品信息和预先设置的对照表映射得到SN实际值的具体步骤如下:
[0013]为不同的产品信息根据编码进制和产品信息自定义权值和SN实际值的对照表;
[0014]根据所述产品信息中的权值映射生成SN实际值。
[0015]较佳地,根据所述产品信息和预先设置的对照表映射得到SN实际值的步骤之后还包括:为所述SN码设置一位版本号,每生成一个SN码版本号均执行加1操作。
[0016]较佳地,根据所述SN实际值生成对照值,再根据所述对照值进行奇偶校验得到SN校验位的具体步骤为:
[0017]将SN码所有位SN实际值与其所对应的权值乘积相加得到的值再做除模运算;
[0018]将得到的值根据预先配置的余码对照表获得对照值;
[0019]将SN码所有位SN实际值对应的权值均转换为二进制,得到所有转换为二进制的权值中1的个数的奇偶性;
[0020]根据所述个数的奇偶性与所述对照值的奇偶性是否相同确定SN码校验位。
[0021]较佳地,根据所述个数的奇偶性与所述对照值的奇偶性是否相同确定SN码校验位的具体步骤如下:如果奇偶性相同,则将所述对照值作为SN码校验位;如果奇偶性不同,则将所述对照值加1后取模得到的值作为SN码校验位。
[0022]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的全局唯一SN码生成方法。
[0023]本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述的全局唯一SN码生成方法的步骤。
[0024]本专利技术的有益效果是:用户可以自己配置SN每一位权重、进制、余数码值、以及进制字符确逻辑上连续的SN流水号看起来毫无规律,校验位更是可以通过改变上面条件得出不同结果,确保公司SN码生成规则如果被破解,公司可以通过修改上述条件,改变SN码生成规律;有效的保障SN码的安全性、唯一性。可以轻易获得SN的海量容量、可以更加容易的管理海量SN。
附图说明
[0025]图1为全局唯一SN码生成方法流程图;
[0026]图2为生成SN实际值的具体步骤流程图;
[0027]图3为根据SN实际值生成校验位的具体步骤流程图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]实施例1
[0030]本实施例提供一种全局唯一SN码生成方法,如图1所示,包括如下步骤:
[0031]S100、获取产品信息,包括如下信息中的至少一种:工厂、品类、年月、日周、流水号、子流水号;
[0032]S200、根据所述产品信息和预先设置的对照表映射得到SN实际值;预先设置的对照表的规则如下:
[0033]工厂:默认配置是2位16进制数,可以根据需要配置最高62进制,用于标识工厂信息;
[0034]品类:默认配置是2位16进制数,可以根据需要配置最高62进制,用于配置此SN码对应商品的品类信息;
[0035]年月:默认配置是2位16进制数,可以根据需要配置最高62进制,用于记录产品生
产年月,从01开始对应2020年1月,逐月加1,如2021年11月可以标识成
’
17
’
(2020年1月到2021年11月期间共有23个月,换算成16进制为HEX17);
[0036]日周:两位10进制数,用于标识本产品生产的具体某一日或者某一周,这两位也可根据配置,由一位62进制数表示。当前,如果数值在1
‑
31标识是当前月的日。41
‑
45表是当前月的1
‑
5周。
[0037]流水号:可根据配置改成不同进制,如配置进制N,数据容量在[(N
‑
1)*(N^4+N^3+N^2+N^1+N^0)];
[0038]子流水号:可根据配置改成不同进制,如配置进制N,数据容量在[(N
‑
1)*(N^1+N^0)],和流水号一起构成但条件下的SN容量。如果流水号和子流水号都是62进制,数据容量可以达到数万亿规模。
[0039]S300、根据所述SN实际值生成对照值,再根据所述对照值进行奇偶校验得到SN校验位;采用哈希思想,数组下标对应权值,数组内字符代表SN实际值,如:
[0040][0041][0042]如果想把权值2转化为SN实际值,只需要取arr[2]=
‘
c
’
;
[0043]如果想把权值5转化为SN实际值,只需要取arr[5]=
‘
f
’
。
...
【技术保护点】
【技术特征摘要】
1.一种全局唯一SN码生成方法,其特征在于,包括如下步骤:获取产品信息,包括如下信息中的至少一种:工厂、品类、年月、日周、流水号、子流水号;根据所述产品信息和预先设置的对照表映射得到SN实际值;根据所述SN实际值生成对照值,再根据所述对照值进行奇偶校验得到SN校验位。2.如权利要求1所述的全局唯一SN码生成方法,其特征在于,获取产品信息之前还包括如下步骤:利用redis的SETNX命令配置分布式锁。3.如权利要求1所述的全局唯一SN码生成方法,其特征在于,根据所述产品信息和预先设置的对照表映射得到SN实际值的具体步骤如下:为不同的产品信息根据编码进制和产品信息自定义权值和SN实际值的对照表;根据所述产品信息中的权值映射生成SN实际值。4.如权利要求1所述的全局唯一SN码生成方法,其特征在于,根据所述产品信息和预先设置的对照表映射得到SN实际值的步骤之后还包括:为所述SN码设置一位版本号,每生成一个SN码版本号均执行加1操作。5.如权利要求1所述的全局唯一SN码生成方法,其特征在于,根据所述SN实际值生成对照值,...
【专利技术属性】
技术研发人员:乌景猛,张阳,
申请(专利权)人:上海艾牌科技集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。