一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种PAYG-Token的生成方法与流程

2022-07-30 20:08:47 来源:中国专利 TAG:
一种payg-token的生成方法
技术领域
1.本技术涉及一种payg-token的生成方法,属于离线分期支付技术领域。


背景技术:

2.随着数字技术的发展,当今市场的销售模式、商务模式发生了巨大变化,从以前的人对人的货物、货款当面交付,逐渐演变为无接触式自助支付。对于一些大型的设备产品的销售通常采用预交定金,使用方接收产品后支付余款,但是常常出现一些使用方在收到产品后并不能及时支付余款,甚至故意拖欠的情况,给生产方和销售方带来极大的困扰和经济损失,因此逐渐衍生出预付款使用的销售方式,即payg,通过在产品中嵌入一定的控制程序,使得使用方交付的定金仅能支持产品一定时间的使用,若使用方未在规定时间内支付完全货款,则丧失使用权利,有效保护了生产方或销售方的权益。
3.用户在产品使用过程中,需要根据需求请求payg系统生成特定的口令(token),方能激活产品继续使用,而现有的口令大多为产品管理方人工随机给出,需要在后台不断记录新口令,且存在口令重复的情况,加大了管理难度。


技术实现要素:

4.根据本技术的提供了一种payg-token的生成方法,该方法通过将产品的即付即用系统id和用户需求指令相结合,生成payg-token,方便了管理方对于口令的管理。
5.所述payg-token的生成方法,其特征在于,所述方法至少包括以下步骤:
6.设置即付即用系统涉及的各类口令;
7.提取产品的即付即用系统id,校验所述即付即用系统id是否为该产品对应id;
8.若校验通过,提取所述即付即用系统id中的特征数值,根据用户输入的口令和产品预设的口令产生编码,对所述特征数值进行加密处理,得到所述payg-token。
9.对于即付即用系统id中的特征数值的选取,本技术没有特定要求,本领域技术人员可以根据其设计的产品对应的id进行选取。
10.用户输入口令包含了用户需求,比如是增加产品的使用时间,还是解锁产品永久使用等。本领域技术人员可以根据其需求或者设计要求设计不同口令对应的输入内容,比如恢复出厂设置口令factort_reset token为000;信用增加口令add credit token为001;信用设置口令set credit token为010;解锁口令unlock为011等。
11.可选地,所述用户输入的口令的类型包括信用增加口令、信用设置口令、解锁口令和恢复出厂设置口令;
12.所述信用增加口令用于在当前产品时间基础上,增加所述信用增加口令所包含使用时间;
13.所述信用设置口令用于将当前产品时间替换为所述信用设置口令所包含使用时间;
14.所述解锁口令用于解锁产品,不再对用户使用时间进行限制;
15.所述恢复出厂设置口令用于格式化产品内部存储的已使用的payg-token记录。
16.可选地,所述产品预设的口令产生编码是指当次请求建立payg-token的次数;
17.当产品的当次请求建立payg-token的次数超过所述预设阈值,不再生成payg-token;
18.所述预设阈值是指产品总共能够产生payg-token的次数。
19.可选地,所述加密处理包括:
20.将所述特征数值转换为特定长度的二进制字符串,记为字符串a;
21.将所述用户输入的口令转换为二进制字符串,记为字符串b;
22.根据用户输入的口令的类型生成对应的时间编码,将所述时间编码转换为特定长度的二进制字符串,记为字符串c;
23.将所述口令产生编码转换为特定长度的二进制字符串,记为字符串d;
24.将所述字符串a、所述字符串b、所述字符串c和字符串d进行逻辑整合后,转换为十进制,即得到所述payg-token。
25.可选地,所述逻辑整合过程包括:
26.将所述字符串a截为等长度的字符段,每段字符段记为字符串ai,其中i=i 1;
27.将所述字符串c截为不同长度的字符段,每段字符段记为字符串ci,其中i=i 1;
28.将所述字符串d截为不同长度的字符段,每段字符段记为字符串di,其中i=i 1;
29.将各所述字符串ai、所述字符串ci、所述字符串di、所述字符串b按照设定逻辑进行交叉整合,形成含有所有字符的逻辑字符串。
30.可选地,所述字符串a的长度为24位;
31.所述字符串c的长度为13位;
32.所述字符串d的长度为11位。
33.可选地,所述交叉整合过程中,初始字符串为字符串ai,相邻的字符串ai采用字符串ci、所述字符串di、所述字符串b中的任意一个隔开,末尾字符串为字符串ai。
34.举例说明,比如字符串a的长度为24位;字符串c的长度为13位;字符串d的长度为11位。则字符串a可以被可以截为等长的6段,分别为a1、a2、a3、a4、a5、a6;字符串c可以被可以截为6个长度的字符串c1和7个长度的字符串c2;字符串d可以被可以截为6个长度的字符串d1和5个长度的字符串d2;则整活逻辑可以为:
35.a1&d1&a2&c1&a3&d2&a4&c2&a5&b&a6。
36.可选地,所述方法还包括:在进行十进制转换前,对所述逻辑字符串进行补位校验。
37.可选地,所述补位校验方式为:
38.统计所述逻辑字符串内1的数量对设定数值进行求余,若余数值≤1,则赋值为1;若余数值>1,则将余数值作为赋值;
39.将所述赋值转换为二进制,得到补位字符串;
40.将所述补位字符串补位至所述逻辑字符串首位或末位。
41.具体地,设定数值可以选择2的倍数,优选地,采用4。
42.具体地,假设1的数量为m,设定数值为q,补位赋值为x,则当m:q≤1,则x=1;当m:q>1,则x=x。
43.可选地,若所述逻辑字符串首位字符为0,则将所述补位字符串补位至所述逻辑字符串首位。
44.本技术通过若干补位字符串的加入,一方面通过补位便于后续进一步加密;另一方面方便对于逻辑字符串进行校验。
45.本技术能产生的有益效果包括:
46.1)本技术payg-token的生成方法,通过将产品编码和用户需求相结合,能够实时根据用户的需求,及时生成符合用户产品使用要求的即付即用口令,方便用户对于产品的使用;
47.2)采用本技术方法生成payg-token,便于管理方对于产品payg-token的管理,避免了payg-token管理的混乱,也避免了对于产品的恶意破解使用。
具体实施方式
48.下面结合实施例详述本技术,但本技术并不局限于这些实施例。
49.实施例
50.一、设置产品相关变量
51.设置即付即用系统涉及的各类口令:
52.1、信用增加口令add credit token:增加用户剩余使用时间。例如:剩余10h,输入add credit token包含30h,那么系统总剩余可使用时间40h。
53.功能定义:
54.①
在unlock模式下,输入add credit token,系统不做出响应;
55.②
其他模式下,正常使用;
56.③
设备每次add credit token不能重复使用
57.举例,设置信用增加口令add credit token为001。
58.2、信用设置口令set credit token:设置用户剩余使用时间。例如:剩余10h,输入set credit token包含30h,那么系统总剩余可使用时间30h
59.功能定义:
60.①
在unlock模式下,输入set credit token指令码,系统可退出unlock模式;
61.②
其他模式下,正常使用;
62.③
设备每次set credit token不能重复使用;
63.④
每次输入set credit token指令码以后,在输入该指令前生成的所有payg-token全部失效。
64.举例,设置信用设置口令set credit token为010。
65.3、解锁口令unlock:释放用户使用限制。例如:剩余10h,输入unlock token,那么系统解封,不限制使用
66.功能定义:
67.①
在unlock模式下,输入unlock token,系统不做出响应;
68.②
设备每次unlock token不能重复使用。
69.举例,设置解锁口令unlock为011。
70.4、恢复出厂设置口令factort reset token:初始化用户历史记录,清除用户剩余
使用时间和token输入存储记录;
71.功能定义:
72.①
任何模式下,都可以使用;
73.②
设备每次factort_reset token不能重复使用。
74.举例,设置恢复出厂设置口令factort reset token为000。
75.时间设置set times:设置token包含的时间信息,时间信息单位可以为小时、天等,可设定其输入阈值,比如最大不能超过8000小时。
76.口令生成设置set credit count:记录payg-token的产生的序列号,及生成的次数,设置产品的payg-token的生成次数。比如每个产品的id对应最大的口令生成个数为2000。
77.二、提取产品的即付即用系统id,校验所述即付即用系统id是否为该产品对应id
78.本技术实施例中以申请人自行设计的即付即用系统id(payg-id)进行说明。
79.申请人自行设计payg-id包含3个功能块:
80.q-id功能码:用于内部对于不同型号产品销售的不同地区进行分级管理;
81.pay-id功能码:打印载体上贴在设备外壳,或者显示在设备的ui显示屏幕,用户可以查看的明码。用户可以在获取产品后,根据所述明码查询产品相关信息,比如将明码发送至后台,后台根据所述明码向用户提供产品的当前账单情况下的可使用时间,或者设备使用时间解锁码等等;
82.secret key功能码(内部暗码,用于内部管理)。
83.所述payg-id的建立方法,包括以下步骤:
84.步骤1,生成q-id功能码
85.q-id功能码包括设备类型、产品用户当地位置定位编码和产品编码;三者安装顺序排列组成q-id功能码。
86.以一款储能产品为例,设备类型代号为dt;其用户为非洲地区的布基纳法索,申请人通过对国家和地区进行分类排序,得到的国家代码为319;产品编码采用0001~9999,进行编号,则销往该地区的第一个产品的的q-id功能码为dt3190001。
87.步骤2、生成pay-id功能码
88.pay-id功能码基于q-id功能码形成,是一组实现特定用户特定产品型号的序列号编码。
89.2.1提取所述q-id功能码中的用户所在地的定位编码和产品编码,形成初始编码;
90.具体地,第一个产品的q-id功能码为dt3190001,则初始编码为3190001;
91.2.2将所述初始编码与当前的公历日期叠加,形成最终编码;
92.假设当前公历日期为2021年9月29日,则提取210929;形成的最终编码为3400930。
93.2.3在所述最终编码末尾添加编码流水号和流水号补充码。
94.2.3.1添加流水号
95.流水号采用10进制长度为3(最大数字999)的数字
96.所述流水号进行编码时,先判断当前最终编码是否发生更新;
97.若当前最终编码未发生更新,则流水号在之前的流水号基础上进行叠加;比如相同最终码的第一个产品流水号为001,第二个产品流水号为00,
……
,依次类推直到999。
98.若当前最终编码已更新,则流水号重新开始计数。
99.2.3.2添加流水号补充号
100.所述流水号补充码为10进制长度为2的数字。
101.所述流水号补充码的准则为:
102.提取所述最终编码的最后一位数字的值;
103.根据所述最后一位数字的值依照轮询规则确定轮询补码区间,在轮询补码区间内选取流水号补充码;
104.所述轮询补码区间及轮询规则包括:
105.第1轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为9,则所述第1轮询补码区间的长度为10,区间内的流水号补充码为09、18、27、36、45、54、63、72、81、90;
106.第2轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为8,所述第2轮询补码区间的长度为8,区间内的流水号补充码为08、17、26、35、53、62、71、80;
107.第3轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为7,所述3轮询补码区间的长度为8,区间内的流水号补充码为07、16、25、34、43、52、61、70;
108.第4轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为6,所述第4轮询补码区间的长度为6,区间内的流水号补充码为06、15、24、42、51、60;
109.第5轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为5,所述第5轮询补码区间的长度为6,区间内的流水号补充码为05、14、23、32、41、50;
110.第6轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为4,所述第6轮询补码区间的长度为4,区间内的流水号补充码为04、13、31、40;
111.第7轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为3,所述第7轮询补码区间的长度为4,区间内的流水号补充码为03、12、21、30;
112.第8轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为2,所述第8轮询补码区间的长度为2,区间内的流水号补充码为02、20;
113.第9轮询补码区间的轮询规则是:流水号补充码中两位数字叠加计数为1,所述第9轮询补码区间的长度为2,区间内的流水号补充码为01、10。
114.所述流水号补充码的选取根据所述轮询补码区间内的流水号补充码的排列顺序,依次选取;
115.若根据所述轮询规则定位到第n轮询补码区间,且该区间的流水号补充码数量小于所需的流水号补充码数量,则进入第n 1轮询补码区间依次选取流水号补充码,直到完成所有流水号补充码的添加。
116.例如:最终编码的最后一位数字的值为9,定位到第1轮询区间,而总共有产生52个流水号需要补码,则001补码09,002补码18,003补码27,

,043补码03,044补码12,045补码21,046补码30,047补码02,

,049补码01,050补码10,(另一轮重新开始循环)051补码09,052补码18。
117.则对于上述第一个产品,其流水号为001,流水号补充码为09,其完整的pay-id功能码为340093000109。
118.步骤3、生成secret key功能码
119.secret key功能码用于实现对于设备的暗码编译。通过明码pay-id功能码和产品的q-id功能码组合形成。
120.3.1形成各组合因子
121.对于q-id功能码:
122.1)提取q-id功能码的前3位数字(即国家代码),记作region,例如319;
123.2)采用地区的英文缩写rg,转化为ascii码为8271;
124.3)将字符串rg&region连接,得到第一组合码8271319;
125.4)提取q-id功能码的后4位数字(即产品编码),0001,作为第二组合码。
126.对于pay-id功能码:
127.由于pay-id功能码中融合了时间,因此提取的数字以及采用英文字母和符号与时间有关的。
128.1)提取pay-id功能码的前7位数字,即3400930,记作id-time;
129.2)采用id-time的缩写id-t,转化为ascii码,其中i为73,d为68,-为45,t为84,最终ascii码为73684584;
130.3)将字符串id-t&id-time连接,得到第三组合码736845843400930;
131.4)提取pay-id功能码的后5位数字(即流水号 流水号补充码),00109,作为第四组合码。
132.组合符号选择“/”,转化成ascii码为47.
133.3.2组合形成组合字符串
134.组合逻辑为:第一组合码&/&第三组合码&/&第二组合码&/&第四组合码,即“字符串id-t&id-time联接&/&字符串rg&region联接&/&产品编码&/&流水号与流水号补充码”,得到组合字符串736845843400930478271319470001 47 00109。
135.3.3将所述组合字符串分解为若干段字符,转换为二进制数值,并对拆分后的特殊位置加密,得到组合二进制数组
136.c1=mid(组合逻辑,1(起始位),4(位长度)),转化为固定的2进制数值;(例如:=7368,转化为固定的2进制数长度:1110011001000);
137.c2=mid(组合逻辑,5(起始位),4(位长度),转化为固定的2进制数值);(例如:=4584,转化为固定的2进制数长度:1000111101000);
138.c3=mid(组合逻辑,9(起始位),4(位长度),转化为固定的2进制数值);(例如:=3400,转化为固定的2进制数长度:0110101001000);
139.c4=mid(组合逻辑,13(起始位),3(位长度),转化为固定的2进制数值);(例如:=930,转化为固定的2进制数长度:1110100010);
140.c5=mid(组合逻辑,16(起始位),2(位长度),转化为固定的2进制数值);(例如:=47,转化为固定的2进制数长度:101111);
141.c6=mid(组合逻辑,18(起始位),4(位长度),转化为固定的2进制数值);(例如:=8271,转化为固定的2进制数长度:10000001001111);
142.c7=mid(组合逻辑,22(起始位),4(位长度),转化为固定的2进制数值);(例如:=319,转化为固定的2进制数长度:0100111111);
143.c8=mid(组合逻辑,25(起始位),1(位长度),转化为固定的2进制数值);(例如:=
4,转化为固定的2进制数长度:100);
144.c9=mid(组合逻辑,26(起始位),4(位长度),转化为固定的2进制数值);(例如:=700,转化为固定的2进制数长度:1010111100);
145.c10=c9的二进制数按位取反;(例如:0101000011);
146.c11=mid(组合逻辑,29(起始位),4(位长度),转化为固定的2进制数值);(例如:=014,转化为固定的2进制数长度:0000001110);
147.c12=c11的二进制数按位取反;(例如:1111110001);
148.c13=mid(组合逻辑,32(起始位),4(位长度),转化为固定的2进制数值);(例如:=7,转化为固定的2进制数长度:111);
149.c14=mid(组合逻辑,33(起始位),4(位长度),转化为固定的2进制数值);(例如:=001,转化为固定的2进制数长度:0000000001);
150.c15=c14的二进制数按位取反;(例如:1111111110);
151.c16=mid(组合逻辑,36(起始位),4(位长度),转化为固定的2进制数值);(例如:=09,转化为固定的2进制数长度:0001001);
152.c17=c16的二进制数按位取反;(例如:1110110)。
153.3.4在组合二进制数组中添加补位校验二进制数
154.补位校验二进制数分别为b1、b2、b3,其中b1=101,b2=010,b3=110。
155.添加逻辑为:c1&b1&c2&c3&c4&c5&c6&c7&c8&c9&c10&b3&c11&c12&c13&c14&c15&c16&b2&c17,得到最终输出长度为168位的二进制数组:
156.111001100100010110001111010000110101001000111010001010111110000001001111010011111110010101111000101000011110000000111011111100011110000000001111111111000010010101110110
157.3.5将所述168位的二进制数组转化为42为长度的十六进制数组,结果为:e6458f43523a2be04f4fe578a1e03bf1e00ffc2576。
158.3.6将所述十六进制数组采用哈希公式进行变换,得到32位固定长度的十六进制数组,结果为bae0f275a2d28183724340dd0d0639b8,即为secret key功能码。
159.当用户产生需求时,用户发送产品的q-id和pay-id至后台,后台利用产品的secret key功能码校验所接收的q-id和pay-id是否为该产品对应的q-id和pay-id。校验通过后,根据其需求即可开始生成payg-token。
160.三、生成payg-token
161.1、将上述secret key字符串从第13位开始截取总共6位长度的字符串进行包留存储mid(secret key,13,6),作为特征数值;
162.例如:bae0f275a2d28183724340dd0d0639b8取值为:818372。
163.2、将截取的6位长度字符串转换为24位的2进制字符串;
164.例如:818372转换为100000011000001101110010。
165.3、将24位的2进制字符串顺序截断等长度6段,分别命名secret-1、secret-2、secret-3、secret-4、secret-5、secret-6;
166.例如:secret-1=1000、secret-2=0001、secret-3=1000、secret-4=0011、secret-5=0111、secret-6=0010。
167.4、根据用户输入口令类型以及所要求的使用时间,产生相应的时间编码,并将时间编码转换为二进制字符串;然后将该二进制字符串截为不同长度的字符段。比如:
168.如果token type=factort_rst,时间值设置为0,转化为13位长度的2进制字符串;
169.如果token type=unlock,时间值设置为8000,转化为13位长度的2进制字符串;
170.如果token type=add credit token或者set credit token,时间值设置根据实际设置值转化为13位长度的2进制字符串
171.例如:输入口令为add credit token,要求增加使用时间为20小时,转换后的二进制字符串为0000000010100。
172.将上述13位长度的2进制字符串截取为6位长度和7位长度的两段二进制字符串,分别命名为set time6(前6位,000000)和set time7(后7位,0010100)。
173.5、将口令设置次数编码转换为二级制字符串,然后将该二进制字符串截为不同长度的字符段。比如:
174.该次为第33次生成payg-token,则33转换为11位长度的2进制字符串为00000100001;
175.11位长度的2进制字符串截取为6位长度和5位长度的两段二进制字符串,分别命名为set count6(前6位,000001)和set count5(后5位,00001)。
176.6、按照以下逻辑进行整合
177.逻辑等式:secret-6&setcount5&secret-5&settime6&secret-4&setcount6&secret-3&settime7&secret-2&token type&secret-1;
178.得到的逻辑字符串为:
179.001000001011100000000110000011000001010000010101000。
180.7、对上述逻辑字符串进行补位:
181.统计逻辑字符串中的1共14个,用14对4求余,余数为2,因此赋值1,将1转换为二进制得到补位字符串为10;
182.将补位字符串补位到逻辑字符串得到最终的字符串为:
183.10001000001011100000000110000011000001010000010101000。
184.8、将上述字符串转换为十进制为4,791,397,607,579,816,即为本次用户产品使用的payg-token。
185.以上所述,仅是本技术的几个实施例,并非对本技术做任何形式的限制,虽然本技术以较佳实施例揭示如上,然而并非用以限制本技术,任何熟悉本专业的技术人员,在不脱离本技术技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献