CN116186796B - 序列号生成方法、系统、电子设备及存储介质 - Google Patents

序列号生成方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116186796B
CN116186796B CN202310156441.XA CN202310156441A CN116186796B CN 116186796 B CN116186796 B CN 116186796B CN 202310156441 A CN202310156441 A CN 202310156441A CN 116186796 B CN116186796 B CN 116186796B
Authority
CN
China
Prior art keywords
serial number
user
sequence number
segment
hash function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310156441.XA
Other languages
English (en)
Other versions
CN116186796A (zh
Inventor
张显峰
陈琳
郭云玮
段立
尚聪聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Naval University of Engineering PLA
Original Assignee
Naval University of Engineering PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Naval University of Engineering PLA filed Critical Naval University of Engineering PLA
Priority to CN202310156441.XA priority Critical patent/CN116186796B/zh
Publication of CN116186796A publication Critical patent/CN116186796A/zh
Application granted granted Critical
Publication of CN116186796B publication Critical patent/CN116186796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种序列号生成方法、系统、电子设备及存储介质,该序列号生成方法包括:获取用户的用户名和用户自定义编码规则;根据用户名与用户自定义编码规则生成密码散列函数与序列号更新标识;根据用户自定义编码规则计算序列号初始值列表序列号标识;判断序列号标识库中是否包括序列号更新标识;若序列号标识库中包括序列号更新标识,则根据序列号更新标识对应的密码散列函数获得目标序列号。使用本申请实施例提供的序列号生成方法相比现有技术更智能,更安全,能够满足用户自定义需求。

Description

序列号生成方法、系统、电子设备及存储介质
技术领域
本申请涉及序列号生成领域,具体而言,涉及一种序列号生成方法、系统、电子设备及存储介质。
背景技术
在登录网页或者登录硬件设备时,为了保证用户的登录安全,常常会根据用户需求或硬件信息生成唯一的标识。
目前,生成唯一标识的方法是结合硬件设备信息生成设备ID,先获取设备的硬件信息(如设备序列号和设备ROOT权限),再计算硬件信息字符串转的MD5值,并按照预设分割格式对MD5值进行分割,得到设备ID。但结合硬件设备信息生成设备ID的方法无法实现自增,也不能自清除,也缺乏用户的信息,导致安全这种方式生成的设备唯一标识安全性较低且无法将用户需求融入唯一识别标识中。
发明内容
本申请实施例的目的在于提供一种序列号生成方法、系统、电子设备及存储介质,通过用户自定义序列号各段的组合规则,加上用户名生成序列号;当该规则或用户得到的序列号更新标识长期不使用时,自动销毁;当用户再次使用该规则时,其对应序列号的会自动增加1。本申请实施例提供的序列号生成方法相比现有技术更智能,更安全,能够满足用户自定义需求。
第一方面,本申请实施例提供一种序列号生成方法,该序列号生成方法包括:获取用户的用户名和用户自定义编码规则;根据用户名与用户自定义编码规则生成密码散列函数与序列号更新标识;根据用户自定义编码规则计算序列号初始值列表序列号标识;判断序列号标识库中是否包括序列号更新标识;若序列号标识库中包括序列号更新标识,则根据序列号更新标识对应的密码散列函数获得目标序列号。
在上述实现过程中,在本申请实施例中,根据用户名和用户自定义编码规则生成密码散列函数与序列号更新标识;同时,根据用户自定义编码规则生成序列号初始值列表和序列号标识。再在序列号标识库中查找是否存在序列号更新标识,若存在该序列号更新标识,则证明该序列号曾经被使用过;若不存在该序列号更新标识,则表明该序列号未被使用。使用本申请实施例提供的序列号生成方法能够根据用户需求生成自定义的序列号,最大程度上满足用户的需求;生成的序列号结合了特定用户以及用户的需求,安全性更佳。
可选地,在本申请实施例中,根据用户自定义编码规则计算序列号初始值列表和序列号标识包括:根据用户自定义编码规则计算自定义编码规则的各段属性信息;根据用户自定义编码规则的各段属性信息生成初始值列表和序列号标识。
在上述实现过程中,本申请实施例由用户自定义编码规则计算自定义编码规则的各段属性信息;进一步地,根据用户自定义编码规则的各段属性信息生成初始值列表和序列号标识。由此可知,使用本申请实施例提供的序列号生成方法能够实现对目标用户历史使用过的序列号的信息进行计算,能够顺利判别出是否已经使用过该序列号,从而增强序列号的安全性。
可选地,在本申请实施例中,序列号生成方法还包括,若序列号标识库中不包括序列号更新标识,则在序列号初始值列表中获取当前序列号,并根据当前序列号生成目标序列号。
在上述实现过程中,本申请实施例提供的序列号生成方法中若不能在序列号标识库中查找到该序列号更新标识,则从序列号初始值列表中获取当前的序列号,再根据当前序列号获取目标序列号。从而将已使用过的序列号和未曾使用的序列号进行有效区分,使目标序列号的生成方式更加灵活。
可选地,在本申请实施例中,根据当前序列号生成目标序列号包括:根据预设过期时间与当前序列号生成目标序列号,并将序列号标识存入序列号标识库。
在上述实现过程中,本申请实施例提供的序列号生成方法能够对用户从未使用过的序列号加上时间限制,对序列号加上预设过期时间能够保证序列号在长时间不使用的情况实现自销毁,不但能够增加序列号的安全性,还能够定期释放服务器的存储空间。
可选地,在本申请实施例中,根据用户名与用户自定义编码规则生成密码散列函数包括:获取用户名对应的用户ID与用户需求;根据用户ID和用户需求生成自定义编码规则对应的类与对象;组合自定义编码规则对应的类与对象,并生成用户自定义编码规则;其中,自定义编码规则包括序列号的段数设定规则和各段参数设定规则;将自定义编码规则转换为指定数据格式,以生成密码散列函数。
在上述实现过程中,根据用户名和用户需求生成自定义编码规则的类和对象;再将类和对象进行组合,以获得用户自定义编码规则;最后将自定义编码规则转换为指定数据格式,从而获得密码散列函数。使用本申请实施例提供的序列生成方法生成的序列号,不但结合了用户信息,还能够根据用户需求进行自定义编码;从而生成与用户信息和用户需求相关的序列号,能够满足不同用户的需求。
可选地,在本申请实施例中,序列号标识库中包括序列号更新标识表征序列号曾被使用;根据序列号更新标识对应的密码散列函数获得目标序列号,包括:将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数;根据序列号更新标识更新序列号,以获得目标序列号。
在上述实现过程中,本申请实施例中若序列号被使用过,那么该序列号对应的序列号标识就存在于序列号标识库中;那么需要对该序列号的字段进行加1处理,进而更新序列号,以更新后的序列号为目标序列号,能够提高序列号的安全性。
可选地,在本申请实施例中,将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数包括:获取密码散列函数字段的段类型;其中,段类型包括最低段和若干高段;初始化段溢出数组;其中,初始化后的段溢出数组元素为0;将最低段位加1,并判断最低段位是否产生溢出;若最低段位产生溢出,则将最低段位的高一段位的溢出标志设置为1;遍历密码散列函数字段的所有段位后,获得更新密码散列函数。
在上述实现过程中,通过对使用过的序列号相应字段加1,从而获得更新后的密码散列函数,也就是通过改变序列号的方式对序列号进行更新;当用户再次使用该规则时,其对应序列号的会自动增加1,更新redis中保存的value,并返回序列号。
第二方面,本申请实施例提供一种序列生成系统,序列生成系统包括:密码散列函数与序列号更新标识生成模块、列号初始值列表和序列号标识生成模块以及目标序列号生成模块;密码散列函数与序列号更新标识生成模块,用于获取用户的用户名和用户自定义编码规则;密码散列函数与序列号更新标识生成模块,还用于根据用户名与用户自定义编码规则生成密码散列函数与序列号更新标识;列号初始值列表和序列号标识生成模块,用于根据用户自定义编码规则计算序列号初始值列表和序列号标识;目标序列号生成模块,用于判断序列号标识库中是否包括序列号更新标识;目标序列号生成模块,还用于在序列号标识库中包括序列号更新标识时,根据序列号更新标识对应的密码散列函数获得目标序列号。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的序列号生成方法的流程图;
图2为本申请实施例提供的列号初始值列表和序列号标识生成流程图;
图3为本申请实施例提供的密码散列函数的生产流程图;
图4为本申请实施例提供的目标序列号生成流程图;
图5为本申请实施例提供的密码散列函数更新流程图;
图6为本申请实施例提供的SerialNumCode段类型加“1”计算流程图;
图7为本申请实施例提供的UpperCaseCode段类型加“1”计算流程图;
图8为本申请实施例提供的LowerCaseCode段类型加“1”计算流程图;
图9为本申请实施例提供的LetterNumCode段类型加“1”计算流程图;
图10为本申请实施例提供的序列生成系统模块示意图;
图11为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在介绍本申请内容前再此先对本申请实施例中使用的密码算法MD5进行简要介绍:MD5(Message-Digest Algorithm),MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
申请人在研究过程中发现,在登录网页或者登录硬件设备时,为了保证用户的登录安全,常常会根据用户需求或硬件信息生成唯一的标识。但目前的唯一标识生成方式为先获取设备的硬件信息(如设备序列号和设备ROOT权限),再计算硬件信息字符串转的MD5值,并按照预设分割格式对MD5值进行分割,得到设备ID。
而这种方式使用关系数据库增加了资源开销和管理复杂度主要应用于设备硬件信息的ID生成;难以应用于登录网站时,生成唯一识别码。并且硬件ID一旦生成,则不再改变,是固定值,不能实现硬件ID自增。
由硬件信息的排序确定的预设规则,虽然在编码规则表中可以设定规则名,但是当不再使用某个规则时,需要用户进行表操作删除该规则及使用用户缺乏相应的销货操作。
虽然由硬件信息生成了MD5值确定硬件ID,但是没有将用户信息与硬件信息结合,安全性有待提高。不同规则的区分需要通过NUMBER_ID、NUBMER_NAME、DESCRIPTION、FORMULATE(不同的属性类型)联合决定,复杂的同时还存在安全问题。
基于此,为了解决上述方法存在的问题,本方案采取通过用户自定义序列号各段的组合规则计算得到MD5,再加上用户名生成唯一识别用户和序列号编码规则的key,将key对应的当前序列号作为value增加到redis中;同时,设置该key的过期时间,当该规则长期不使用时,自动销毁;当用户再次使用该规则时,其对应序列号的会自动增加1,更新redis中保存的value,并返回序列号。本申请实施例提供的序列号生成方法相比现有技术更智能,更安全,能够满足用户自定义需求。
请参看图1,图1为本申请实施例提供的序列号生成方法的流程图,该方法包括:
步骤S100:获取用户的用户名和用户自定义编码规则。
在上述步骤S100中,首次获取用户的用户用户名(userTag)和用户自定义编码规则。
步骤S101:根据用户名与用户自定义编码规则生成密码散列函数与序列号更新标识。
在上述步骤S101中,根据用户名(userTag)与用户自定义编码规则生成密码散列函数;示例性地,用户(userTag)根据自身业务需求制定编码规则,根据用户(userTag)和用户自定义编码规则计算得到的MD5组合得到的字符串就是密码散列函数。
根据用户名与用户自定义编码规则生成序列号更新标识;示例性地,根据用户名(userTag)和用户自定义编码规则生成的密码散列函数(MD5字符串)计算;进一步地,计算MD5值,将MD5值与用户(userTag)共同生成的字符串作为序列号更新判别标识。
步骤S102:根据用户自定义编码规则计算序列号初始值列表和序列号标识。
在上述步骤S102中,根据用户自定义编码规则计算序列号初始值列表和序列号标识;需要说明的是,自定义编码规则的不同段都包含有不同的属性信息,根据各个段不同的属性信息可以计算用户计算序列号初始值列表和序列号标识。可以理解的是,序列号初始值列表中包括若干序列号标识,可以理解为用户曾用序列号的储存列表。示例性地,根据用户自定义编码规则可获取到密码散列函数各个字段的属性信息,将属性信息的值保存到特定的数组中,这样的数组就是序列号初始值列表。而序列号标识就是各个字段属性信息,从而获得了序列号初始值列表和序列号标识。
步骤S103:判断序列号标识库中是否包括序列号更新标识。
在上述步骤S103中,在上述过程中,新生成的通过用户自定义编码规则生成的序列号对应的序列号标识为序列号更新标识;用户曾用的序列号对应的序列号标识都存在于序列号标识库中;在序列号标识库中查找序列号更新判别标识。
步骤S104:若序列号标识库中包括序列号更新标识,则根据序列号更新标识对应的密码散列函数获得目标序列号。
在上述步骤S104中,如果序列号标识库中包括上述的序列号更新标识,则根据序列号更新标识对应的密码散列函数获得目标序列号;可以理解的是,密码散列函数对应的值可以是目标序列号。
通过图1可知,在本申请实施例中,根据用户名和用户自定义编码规则生成密码散列函数与序列号更新标识;同时,根据用户自定义编码规则生成序列号初始值列表和序列号标识。再在序列号标识库中查找是否存在序列号更新标识,若存在该序列号更新标识,则证明该序列号曾经被使用过;若不存在该序列号更新标识,则表明该序列号未被使用。使用本申请实施例提供的序列号生成方法能够根据用户需求生成自定义的序列号,最大程度上满足用户的需求;生成的序列号结合了特定用户以及用户的需求,安全性更佳。
请参看图2,图2为本申请实施例提供的列号初始值列表和序列号标识生成流程图;根据用户自定义编码规则计算序列号初始值列表和序列号标识包括:
步骤S200:根据自定义编码规则计算用户自定义编码规则的各段属性信息。
在上述步骤S200中,根据自定义编码规则计算序列号的各段属性信息;可以理解的是,自定义编码规则包含了序列号的段数(partCount);不同的段包括不同的属性信息;示例性地,根据用户自定义的序列号编码规则计算各段的段类型(partType)、初始值(initialValue)、起始值(startValue)、终止值(endValue)。另外,对于段类型是数字字母混合(LetterNumCode)的还包含要混合类型(mixedType)。
步骤S201:根据序列号的各段属性信息生成序列号初始值列表和序列号标识。
在上述步骤S201中,根据序列号的各段属性信息生成序列号初始值列表和序列号标识;将属性信息的值即为序列号标识;示例性地,将属性信息值(value)保存到partTypeStarEndValueMap中;进一步地,对partTypeStartEndMap通过函数getInitialPartsValue()计算,按照段号由高位到低位获得序列号初始值列表initialPartsValue。
通过图2可知,本申请实施例由用户自定义编码规则计算自定义编码规则的各段属性信息;进一步地,根据用户自定义编码规则的各段属性信息生成初始值列表和序列号标识。由此可知,使用本申请实施例提供的序列号生成方法能够实现对目标用户历史使用过的序列号的信息进行计算,能够顺利判别出是否已经使用过该序列号,从而增强序列号的安全性。
在一可选地实施例中,若判断序列号标识库中不包括序列号更新标识,则在序列号初始值列表中获取当前序列号,并根据当前序列号生成目标序列号。
示例性地,若序列号更新标识(keyy)不在序列号标识库(Redis数据库)中,即,序列号标识库(Redis数据库)中所有的序列号标识(key)都与序列号更新标识(keyy)不一致,那么就从序列号初始值列表(initialPartsValue)中获取当前序列号(currentPartsValue),再根据当前序列号生成目标序列号。
由此可知,本申请实施例提供的序列号生成方法中若不能在序列号标识库中查找到该序列号更新标识,则从序列号初始值列表中获取当前的序列号,再根据当前序列号获取目标序列号。从而将已使用过的序列号和未曾使用的序列号进行有效区分,使目标序列号的生成方式更加灵活。
在一可选地实施例中,若不能从序列号标识库中查找到该序列号更新标识,则根据再根据当前序列号获取目标序列号。根据预设过期时间与当前序列号生成目标序列号,并将序列号标识存入序列号标识库。
示例性地,若不能从序列号标识库中查找到该序列号更新标识,则根据当前序列号和预设过期时间生成目标序列号;进一步地,将目标序列号存入序列号标识库中,以便下次的识别与查询。
在一种可能的实施方式中,由列表序列号初始值列表(initialPartsValue)得到当前序列号currentPartsValue。在序列号标识库(Redis数据库)中插入该key-value对,即keyy和currentPartsValue,同时设置keyy的过期时间(expiredTime),从而生成具有过期时间限制的目标序列号。
由此可知,本申请实施例提供的序列号生成方法能够对用户从未使用过的序列号加上时间限制,对序列号加上预设过期时间能够保证序列号在长时间不使用的情况实现自销毁,不但能够增加序列号的安全性,还能够定期释放服务器的存储空间。
请参看图3,图3为本申请实施例提供的密码散列函数的生产流程图;根据用户名与用户自定义编码规则生成密码散列函数包括:
步骤S300:获取用户名对应的用户ID与用户需求。
步骤S301:根据用户ID和用户需求生成自定义编码规则对应的类与对象。
在上述步骤S300-S301中,获取用户名对应的用户ID与用户需求,可以理解的是,不同的用户对应的用户需求可能不同,也可能一致;但用户的需求可以通过用户自定义需求进行体现。
需要说明的是,自定义编码规则包括序列号的段数设定规则和各段参数设定规则。按不同的段类型可以设置不同的参数:SerialNumCode(流水号),可以设置长度、起始值;LowerCaseCode(小写字母),可以设置长度,范围(起始值-终止值);UpperCaseCode(大写字母),可以设置长度,范围(起始值-终止值);LetterNumCode(数字字母混合),可以设置长度、混合模式,如NLNP混合模式,表示混合顺序是数字-小写字母-数字-大写字母;Constant(常量),可以设置常量。
步骤S302:组合自定义编码规则对应的类与对象,并生成用户自定义编码规则。
在上述步骤S302中,将自定义编码规则对应的类和对象按照用户需求进行组合,组合后生成用户自定义编码规则。
步骤S303:将自定义编码规则转换为指定数据格式,以生成密码散列函数。
在上述步骤S303中,最后将自定义编码规则转化为指定的数据格式,以生成密码散列函数。
示例性地,用户(userTag)根据自身业务需求制定编码规则,从而生成CodeStandardSetBO类对象codeStandardSetBO。编码规则包含序列号的段数(partCount)以及各段规则的设定。按段类型可以设置不同的参数:SerialNumCode(流水号),可以设置长度、起始值;LowerCaseCode(小写字母),可以设置长度,范围(起始值-终止值);UpperCaseCode(大写字母),可以设置长度,范围(起始值-终止值);LetterNumCode(数字字母混合),可以设置长度、混合模式,如NLNP混合模式,表示混合顺序是数字-小写字母-数字-大写字母;Constant(常量),可以设置常量。序列号编码规则是上述类型的任意组合,且最高段是SerialNumCode类型。
通过函数JSONObject.toJSONString(codeStandSetBo)将自定义的编码规则转换为字符串ruleJson,以获得json字符串;进一步地,通过函数stringToMD5(ruleJson),将json字符串ruleJson转换为MD5字符串md5,以生成密码散列函数。
通过图3可知,根据用户名和用户需求生成自定义编码规则的类和对象;再将类和对象进行组合,以获得用户自定义编码规则;最后将自定义编码规则转换为指定数据格式,从而获得密码散列函数。使用本申请实施例提供的序列生成方法生成的序列号,不但结合了用户信息,还能够根据用户需求进行自定义编码;从而生成与用户信息和用户需求相关的序列号,能够满足不同用户的需求。
请参看图4,图4为本申请实施例提供的目标序列号生成流程图;在本申请实施例中,如果序列号标识库中包括序列号更新标识,则表明该序列号曾被使用;根据序列号更新标识对应的密码散列函数获得目标序列号包括:
步骤S400:将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数。
步骤S401:根据序列号更新标识更新序列号,以获得目标序列号。
在上述步骤S400-S401中,将序列号更新标识对应的密码散列函数字段加1,从而获得更新的密码散列函数;再根据序列号更新标识更新该序列号,从而获得目标序列号。
示例性地,序列号标识库(Redis数据库)中存在序列号更新标识(keyy),即用户制定的序列号编码规则已经使用过,同一用户再次使用其定义的编码规则,需要在Redis存储的序列号基础进行加“1”计算。通过keyy获得Redis中存储的curentPartsValue,并命名为lastCurrentPartsValue。并通过函数updatePartTypeStartEndMap(lastCurrentPartsValue,partTypeStartEndMap)获得更新initialValue值后的updatedPartTypeStartEndMap。通过serialIdGenerator(updatedPartTypeStartEndMap)得到加“1”后的结果列表initialPartsValueList,并更新Redis数据库中keyy对应的序列号currentPartsValue。获得序列号currentPartsValue。
通过图4可知,本申请实施例中若序列号被使用过,那么该序列号对应的序列号标识就存在于序列号标识库中;那么需要对该序列号的字段进行加1处理,进而更新序列号,以更新后的序列号为目标序列号,能够提高序列号的安全性。
请参看图5,图5为本申请实施例提供的密码散列函数更新流程图;将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数包括:
步骤S500:获取密码散列函数字段的段类型。
在上述步骤S500中,获取该密码散列函数字段的段类型;本领域技术人员可以理解的是,序列号加1的过程需要按段类型计算,并且先计算最低段,故应当先获取密码散列函数字段的段类型。
步骤S501:初始化段溢出数组。
在上述步骤S501中,在获取到密码散列函数的段类型后,进行初始化段溢出数组。示例性地,段溢出数组的长度为updatedPartTypeStartEndMap的大小size;需要说明的是,初始化数组元素全为0。当低段加1后的值大于段设置的终止值时,该段会产生溢出,需要向其前一段进1,需设值对应的溢出位值为1;存放结果列表resList存放序列号加1后的值,先存最低位,再存最高位;同时计算从低段到高段的属性列表lists,以及从高段到低段的startValue组成的列表startStar。
步骤S502:将最低段位加1,并判断最低段位是否产生溢出。
步骤S503:若最低段位产生溢出,则将最低段位的高一段位的溢出标志设置为1。
在上述步骤S502-S503中将最低段位加1,然后判断最低段位是否产生溢出;若最低段位产生溢出,则比将最低段位高一段位的溢出标志设置为1。示例性地,判断段类型,分情况进行加1计算,并将加1后的段值resAdded加入到结果列表resList中;当最低段产生溢出时,设置其高一段的溢出标志位为1。
步骤S504:遍历密码散列函数字段的所有段位后,获得更新密码散列函数。
在上述步骤S504中,从次低段开始,依次到最高段,遍历该密码散列函数字段的所有段位。示例性地,对每一特定的段位,首先判断段类型,分情况计算。计算过程中,先检验段的溢出标志是否为1;若为1,则对段initialValue加1,将加1后的值resAdded添加到结果列表resList中,如果不是1,则将段initialValue添加到resList中;如果加1,则判断加1后的值是否超过段最大值,造成段值溢出;如果超过,则将该段前一段的溢出标志位设为1,并检验该段前是否是最高位,如果是最高位,则直接返回开始值startStar。遍历完所有段后,将resList反转输出为列表,即为最终结果initialPartsValueList,也就是更新后的密码散列函数。
通过图5可知,通过对使用过的序列号相应字段加1,从而获得更新后的密码散列函数,也就是通过改变序列号的方式对序列号进行更新;当用户再次使用该规则时,其对应序列号的会自动增加1,更新redis中保存的value,并返回序列号。
根据不同段的段类型的段值加“1”计算,在下方举出相应的实施例进行说明。
在一可选的实施例中,请参看图6,图6为本申请实施例提供的SerialNumCode段类型加“1”计算流程图;首先获取段的初始值initialValue;对初始值initialValue加1得到initialValueAdded。判断initialValueAdded是否小于等于段终止值endStr;如果initialValueAdded小于等于段终止值endStr,则返回补“0”的initialValueAdded;否则,返回段开始值startStr。
在一可选地实施例中,请参看图7,图7为本申请实施例提供的UpperCaseCode段类型加“1”计算流程图;首先将initialValue、endStr进行反转得到initStrReverse、endStrReverse;再将其转换位十进制数accumNum、maxNum;将字符“1”的ASCII值减去“0”的ASCII,并与accumNum相加,得到增加后的十进制值res。进一步地,判断十进制res是否小于等于十进制数maxNum;如果res小于等于maxNum,则用栈保存每个26进制上每一位所代表的十进制数字,然后用栈弹出得到加“1”后的字符串strr,并判断strr的字符串长度;如果strr长度小于endStr长度,则前补“A”,并返回补齐后的strr;如果res大于maxNum,则返回段开始值startStr。
在一可选地实施例中,请参看图8,图8为本申请实施例提供的LowerCaseCode段类型加“1”计算流程图;首先将initialValue、endStr进行反转得到initStrReverse、endStrReverse,然后将其转换位十进制数,accumNum、maxNum;将字符“1”的ASCII值减去“0”的ASCII,并与accumNum相加,得到增加后的值res;如果res小于等于maxNum,则用栈保存每个26进制上每一位所代表的十进制数字,然后用栈弹出得到加“1”后的字符串strr,并判断strr的字符串长度,如果strr长度小于endStr长度,则前补“a”,并返回补齐后的strr;如果res大于maxNum,则返回开始值startStr。
在一可选地实施例中,请参看图9,图9为本申请实施例提供的LetterNumCode段类型加“1”计算流程图;首先初始化溢出数组overflowChars,其长度为段的长度,初始化数组元素全为0,当低位加1后大于段终止值时会产生溢出,需向其前一位进一,并设值对应的溢出位值为1;将initialStr进行字符串反转并转换成字符数组resReverseChars,先存最低位,再存最高位;同时计算段从低位到高位的属性列表mixedTypeReverse。
示例性地,计算最低段位时根据最低位mixedTypeReverse判断最后一位类型(N、L、U)。按照类型根据ASCII值计算,ASCII加1后的值tem,如果tem超过该位类型最大值,则将高一位溢出标志设为1,同时该位值更新为位类型初始值,否则将该位值更新为tem。
示例性地,计算其他段位时,每一位首先根据mixedTypeReverse判断其类型(N、L、U),然后再判断该位的溢出标志是否为1,如果是,则对该位进根据ASCII值计算,ASCII加1后的值为tem,如果tem超出该位最大值,则将该位值更新为位类型初始值,并判断该位是否是最高位,如果是最高位,则直接返回开始值startStr,如果不是最高位,则将高一位溢出标志设为1;如果tem没有超出最大值,将该位值更新为tem;如果该位溢出标志不是1,则位值不变化。遍历完所有位后,将resReverseChars反转并转化为字符串作为最终结果。
以上通过4个实施例分别示例性地说明了SerialNumCode、UpperCaseCode、LowerCaseCode、LetterNumCode段类型加“1”计算方式。不同的段类型可以使用不同的计算方式,以最终实现序列号的更新为目的即可。
请参看图10,图10为本申请实施例提供的序列生成系统模块示意图,序列生成系统100包括:密码散列函数与序列号更新标识生成模块110、序列号初始值列表和序列号标识生成模块120以及目标序列号生成模块130。
密码散列函数与序列号更新标识生成模块110,用于获取用户的用户名和用户自定义编码规则;密码散列函数与序列号更新标识生成模块110,还用于根据用户名与用户自定义编码规则生成密码散列函数与序列号更新标识。
序列号初始值列表和序列号标识生成模块120,用于根据用户自定义编码规则计算序列号初始值列表和序列号标识。
目标序列号生成模块130,用于判断序列号标识库中是否包括序列号更新标识;目标序列号生成模块130,还用于在序列号标识库中包括序列号更新标识时,根据序列号更新标识对应的密码散列函数获得目标序列号。
在一可选地实施例中,序列号初始值列表和序列号标识生成模块120根据用户自定义编码规则计算序列号初始值列表和序列号标识包括:序列号初始值列表和序列号标识生成模块120根据用户自定义编码规则计算自定义编码规则的各段属性信息;序列号初始值列表和序列号标识生成模块120根据用户自定义编码规则的各段属性信息生成初始值列表和序列号标识。
在一可选地实施例中,若序列号标识库中不包括序列号更新标识,目标序列号生成模块130在序列号初始值列表中获取当前序列号,并根据当前序列号生成目标序列号。
在一可选地实施例中,根据当前序列号生成目标序列号包括:目标序列号生成模块130根据预设过期时间与当前序列号生成目标序列号,并将序列号标识存入序列号标识库。
在一可选地实施例中,目标序列号生成模块130根据用户名与用户自定义编码规则生成密码散列函数包括:目标序列号生成模块130获取用户名对应的用户ID与用户需求;根据用户ID和用户需求生成自定义编码规则对应的类与对象;组合自定义编码规则对应的类与对象,并生成用户自定义编码规则;其中,自定义编码规则包括序列号的段数设定规则和各段参数设定规则;目标序列号生成模块130将自定义编码规则转换为指定数据格式,以生成密码散列函数。
在一可选地实施例中,序列号标识库中包括序列号更新标识表征序列号曾被使用;目标序列号生成模块130根据序列号更新标识对应的密码散列函数获得目标序列号包括:目标序列号生成模块130将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数;目标序列号生成模块130根据序列号更新标识更新序列号,以获得目标序列号。
在一可选地实施例中,目标序列号生成模块130将序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数包括:目标序列号生成模块130获取密码散列函数字段的段类型;其中,段类型包括最低段和若干高段;初始化段溢出数组;其中,初始化后的段溢出数组元素为0;将最低段位加1,并判断最低段位是否产生溢出;若最低段位产生溢出,目标序列号生成模块130将最低段位的高一段位的溢出标志设置为1;目标序列号生成模块130遍历密码散列函数字段的所有段位后,获得更新密码散列函数。
请参见图11,图11为本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器301和存储器302,存储器302存储有处理器301可执行的机器可读指令,机器可读指令被处理器301执行时执行如上的方法。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
所述计算机可读存储介质可以是随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等各种可以存储程序代码的介质。其中,存储介质用于存储程序,所述处理器在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子终端所执行的方法可以应用于处理器中,或者由处理器实现。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种序列号生成方法,其特征在于,所述方法包括:
获取用户的用户名和用户自定义编码规则;
根据所述用户名与所述用户自定义编码规则生成密码散列函数与序列号更新标识;其中,所述根据所述用户名与所述用户自定义编码规则生成密码散列函数包括:获取所述用户名对应的用户ID与用户需求;根据所述用户ID和所述用户需求生成所述自定义编码规则对应的类与对象;组合所述自定义编码规则对应的类与对象,并生成所述用户自定义编码规则;其中,所述自定义编码规则包括序列号的段数设定规则和各段参数设定规则;将所述自定义编码规则转换为指定数据格式,以生成所述密码散列函数;
根据所述用户自定义编码规则计算所述自定义编码规则的各段属性信息;根据所述用户自定义编码规则的各段属性信息生成初始值列表和序列号标识;
判断序列号标识库中是否包括所述序列号更新标识;其中,所述序列号标识库中包括所述序列号更新标识表征所述序列号曾被使用;
若所述序列号标识库中包括所述序列号更新标识,则将所述序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数;根据所述序列号更新标识更新所述序列号,以获得目标序列号;
若所述序列号标识库中不包括所述序列号更新标识,则在所述序列号初始值列表中获取当前序列号,并根据所述当前序列号生成目标序列号。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前序列号生成所述目标序列号,包括:
根据预设过期时间与所述当前序列号生成所述目标序列号,并将所述序列号标识存入所述序列号标识库。
3.根据权利要求1所述的方法,其特征在于,所述将所述序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数,包括:
获取所述密码散列函数字段的段类型;其中,所述段类型包括最低段和若干高段;
初始化段溢出数组;其中,初始化后的所述段溢出数组元素为0;
将所述最低段位加1,并判断所述最低段位是否产生溢出;
若所述最低段位产生溢出,则将所述最低段位的高一段位的溢出标志设置为1;
遍历所述密码散列函数字段的所有段位后,获得所述更新密码散列函数。
4.一种序列生成系统,其特征在于,所述序列生成系统包括:密码散列函数与序列号更新标识生成模块、序列号初始值列表和序列号标识生成模块以及目标序列号生成模块;
所述密码散列函数与序列号更新标识生成模块,用于获取用户的用户名和用户自定义编码规则;
所述密码散列函数与序列号更新标识生成模块,还用于根据所述用户名与所述用户自定义编码规则生成密码散列函数与序列号更新标识;其中,所述根据所述用户名与所述用户自定义编码规则生成密码散列函数包括:获取所述用户名对应的用户ID与用户需求;根据所述用户ID和所述用户需求生成所述自定义编码规则对应的类与对象;组合所述自定义编码规则对应的类与对象,并生成所述用户自定义编码规则;其中,所述自定义编码规则包括序列号的段数设定规则和各段参数设定规则;将所述自定义编码规则转换为指定数据格式,以生成所述密码散列函数;
所述序列号初始值列表和序列号标识生成模块,用于根据所述用户自定义编码规则计算所述自定义编码规则的各段属性信息;根据所述用户自定义编码规则的各段属性信息生成初始值列表和序列号标识;
所述目标序列号生成模块,用于判断序列号标识库中是否包括所述序列号更新标识;其中,所述序列号标识库中包括所述序列号更新标识表征所述序列号曾被使用;
所述目标序列号生成模块,还用于在所述序列号标识库中包括所述序列号更新标识时,将所述序列号更新标识对应的密码散列函数字段加1,以获得更新密码散列函数;根据所述序列号更新标识更新所述序列号,以获得目标序列号;
所述目标序列号生成模块,还用于在所述序列号标识库中不包括所述序列号更新标识时,在所述序列号初始值列表中获取当前序列号,并根据所述当前序列号生成目标序列号。
5.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-4中任一项所述方法中的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-4任一项所述方法中的步骤。
CN202310156441.XA 2023-02-21 2023-02-21 序列号生成方法、系统、电子设备及存储介质 Active CN116186796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310156441.XA CN116186796B (zh) 2023-02-21 2023-02-21 序列号生成方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310156441.XA CN116186796B (zh) 2023-02-21 2023-02-21 序列号生成方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116186796A CN116186796A (zh) 2023-05-30
CN116186796B true CN116186796B (zh) 2024-01-30

Family

ID=86432371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310156441.XA Active CN116186796B (zh) 2023-02-21 2023-02-21 序列号生成方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116186796B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102769667A (zh) * 2012-06-29 2012-11-07 北京奇虎科技有限公司 一种id生成方法、装置和系统
CN103023641A (zh) * 2012-10-25 2013-04-03 浪潮电子信息产业股份有限公司 一种序列号生成验证方法
CN111353773A (zh) * 2020-02-24 2020-06-30 网银在线(北京)科技有限公司 标识的处理方法和装置、存储介质、电子装置
CN111414379A (zh) * 2020-03-20 2020-07-14 深圳前海微众银行股份有限公司 序列号生成方法、装置、设备及计算机可读存储介质
CN112988770A (zh) * 2021-02-08 2021-06-18 腾讯科技(深圳)有限公司 序列号更新的方法、装置、电子设备和存储介质
CN113722323A (zh) * 2021-08-30 2021-11-30 康键信息技术(深圳)有限公司 业务序列号生成方法、发号器组件、设备和存储介质
CN114297198A (zh) * 2021-12-28 2022-04-08 中国邮政储蓄银行股份有限公司 分布式系统中序列号的生成方法及其装置
CN114417787A (zh) * 2022-01-21 2022-04-29 百信信息技术有限公司 物料编码生成方法、物料编码管理系统及存储介质
CN114528108A (zh) * 2022-02-18 2022-05-24 北京京东振世信息技术有限公司 一种序列号生成方法、装置、服务器和存储介质
CN115145938A (zh) * 2022-07-28 2022-10-04 上海微盟企业发展有限公司 企业用户身份标识体系构建方法、装置、设备、介质
CN115481603A (zh) * 2022-09-21 2022-12-16 京东方科技集团股份有限公司 基于预设id配置规则生成对象id的管理方法和服务器
CN116467372A (zh) * 2023-02-21 2023-07-21 中国人民解放军海军工程大学 一种数据库自动转换方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100477645B1 (ko) * 2002-05-25 2005-03-23 삼성전자주식회사 일련번호 발생 방법 및 그 장치
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
CN113076104A (zh) * 2021-04-30 2021-07-06 京东方科技集团股份有限公司 页面生成方法、装置、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102769667A (zh) * 2012-06-29 2012-11-07 北京奇虎科技有限公司 一种id生成方法、装置和系统
CN103023641A (zh) * 2012-10-25 2013-04-03 浪潮电子信息产业股份有限公司 一种序列号生成验证方法
CN111353773A (zh) * 2020-02-24 2020-06-30 网银在线(北京)科技有限公司 标识的处理方法和装置、存储介质、电子装置
CN111414379A (zh) * 2020-03-20 2020-07-14 深圳前海微众银行股份有限公司 序列号生成方法、装置、设备及计算机可读存储介质
CN112988770A (zh) * 2021-02-08 2021-06-18 腾讯科技(深圳)有限公司 序列号更新的方法、装置、电子设备和存储介质
CN113722323A (zh) * 2021-08-30 2021-11-30 康键信息技术(深圳)有限公司 业务序列号生成方法、发号器组件、设备和存储介质
CN114297198A (zh) * 2021-12-28 2022-04-08 中国邮政储蓄银行股份有限公司 分布式系统中序列号的生成方法及其装置
CN114417787A (zh) * 2022-01-21 2022-04-29 百信信息技术有限公司 物料编码生成方法、物料编码管理系统及存储介质
CN114528108A (zh) * 2022-02-18 2022-05-24 北京京东振世信息技术有限公司 一种序列号生成方法、装置、服务器和存储介质
CN115145938A (zh) * 2022-07-28 2022-10-04 上海微盟企业发展有限公司 企业用户身份标识体系构建方法、装置、设备、介质
CN115481603A (zh) * 2022-09-21 2022-12-16 京东方科技集团股份有限公司 基于预设id配置规则生成对象id的管理方法和服务器
CN116467372A (zh) * 2023-02-21 2023-07-21 中国人民解放军海军工程大学 一种数据库自动转换方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116186796A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN109766479B (zh) 数据处理方法、装置、电子设备及存储介质
CN110309368B (zh) 数据地址的确定方法、装置、存储介质和电子装置
CN116186796B (zh) 序列号生成方法、系统、电子设备及存储介质
CN111447063B (zh) 一种冷钱包派生密钥的生成方法及装置
CN112804029A (zh) 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质
CN109246083B (zh) 一种dga域名的检测方法及装置
CN113761565A (zh) 数据脱敏方法和装置
CN112087521B (zh) 一种基于大数据的区块链节点权限控制方法及区块链系统
CN110287147B (zh) 一种字符串排序方法及装置
CN112559497B (zh) 一种数据处理方法、一种信息传输方法、装置及电子设备
CN112232025B (zh) 一种字符串存储方法、装置及电子设备
CN114339689A (zh) 一种物联网机卡绑定池管控方法、装置及相关介质
CN109407974B (zh) 电子装置、基于混肴二进制码的图片删除方法及存储介质
CN109840080B (zh) 字符属性比较方法、装置、存储介质及电子设备
CN109194613B (zh) 一种数据包检测方法和装置
CN113901003B (zh) 摘要压缩方法及相关装置
CN112733210B (zh) 一种设备标识获取方法、装置和计算机可读存储介质
CN111431764A (zh) 节点确定方法、设备、系统及介质
CN117672355A (zh) 基因变异信息编码方法、装置、设备及其存储介质
CN108989825B (zh) 一种算术编码方法、装置及电子设备
CN113127644B (zh) 安全知识图谱的构建方法和系统
CN115712543B (zh) 一种监控服务器
CN116582264B (zh) 一种获取弱口令的数据处理系统
Kiwi et al. Strict majority bootstrap percolation in the r-wheel
CN116341023B (zh) 基于区块链的业务地址验证方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant