CN110275695B - 非重复随机码生成方法、设备、存储介质及装置 - Google Patents
非重复随机码生成方法、设备、存储介质及装置 Download PDFInfo
- Publication number
- CN110275695B CN110275695B CN201910342892.6A CN201910342892A CN110275695B CN 110275695 B CN110275695 B CN 110275695B CN 201910342892 A CN201910342892 A CN 201910342892A CN 110275695 B CN110275695 B CN 110275695B
- Authority
- CN
- China
- Prior art keywords
- random code
- length
- target
- spliced
- preset
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0212—Chance discounts or incentives
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种非重复随机码生成方法、设备、存储介质及装置,该方法包括:获取目标业务对应的目标字符串长度;通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码;计算第一待拼接随机码的目标哈希值;按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度;将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码。基于信息安全,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种非重复随机码生成方法、设备、存储介质及装置。
背景技术
目前,各公司的营销系统都包含用户的奖券、卡券、邀请码及抽奖码等功能,目的是校验用户唯一的会员信息或判定用户是否有抽奖资格,利用各自的算法生成一些随机码,用户使用生成的随机码在系统中校验匹配,所述随机码作为用户的会员标识,用作后续的其他业务使用。现有算法的缺点导致生成的随机码无法满足业务需求,长度无法自定,随机码构成也无法自定数字及字母,导致批量生成随机码的重复率较高,无法实现用户身份验证。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种非重复随机码生成方法、设备、存储介质及装置,旨在解决现有技术中用于验证用户身份的随机码重复率较高的技术问题。
为实现上述目的,本发明提供一种非重复随机码生成方法,所述非重复随机码生成方法包括以下步骤:
获取目标业务对应的目标字符串长度;
通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码;
计算所述第一待拼接随机码的目标哈希值;
按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度;
将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
优选地,所述通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码,具体包括:
判断所述目标字符串长度是否小于或等于预设长度;
若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串;
对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
优选地,所述判断所述目标字符串长度是否小于或等于预设长度之后,所述非重复随机码生成方法还包括:
若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系;
根据所述倍数关系确定参考随机码的目标串数;
通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数;
对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
优选地,所述通过预设伪随机码产生器生成参考随机码,具体包括:
通过预设伪随机码产生器生成随机长整形数据;
对所述随机长整形数据进行格式转换,获得正整形格式的绝对值正整数;
通过预设字符转换方式对所述正整形格式的绝对值正整数进行字符转换,获得字符串类型的参考随机码。
优选地,所述按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,具体包括:
对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
优选地,所述将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码之后,所述非重复随机码生成方法还包括:
接收目标用户输入的用户随机码;
对所述用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码;
计算所述第一待验证随机码的待验证哈希值;
将所述待验证哈希值与所述第二待验证随机码进行匹配;
若匹配失败,则进行身份验证失败提示。
优选地,所述将所述待验证哈希值与所述第二待验证随机码进行匹配之后,所述非重复随机码生成方法还包括:
若匹配成功,则将所述目标随机码与所述用户随机码进行匹配,以验证所述目标用户的身份。
此外,为实现上述目的,本发明还提出一种非重复随机码生成设备,所述非重复随机码生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的非重复随机码生成程序,所述非重复随机码生成程序配置为实现如上文所述的非重复随机码生成方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有非重复随机码生成程序,所述非重复随机码生成程序被处理器执行时实现如上文所述的非重复随机码生成方法的步骤。
此外,为实现上述目的,本发明还提出一种非重复随机码生成装置,所述非重复随机码生成装置包括:
获取模块,用于获取目标业务对应的目标字符串长度;
生成模块,用于通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码;
计算模块,用于计算所述第一待拼接随机码的目标哈希值;
处理模块,用于按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度;
拼接模块,用于将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
本发明中,通过获取目标业务对应的目标字符串长度,通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码,使得所述第一待拼接随机码的构成可以是自定义数字及字母的任意组合;计算第一待拼接随机码的目标哈希值,按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度,将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的非重复随机码生成设备的结构示意图;
图2为本发明非重复随机码生成方法第一实施例的流程示意图;
图3为本发明非重复随机码生成方法第二实施例的流程示意图;
图4为本发明非重复随机码生成方法第三实施例的流程示意图;
图5为本发明非重复随机码生成装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的非重复随机码生成设备结构示意图。
如图1所示,该非重复随机码生成设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对非重复随机码生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及非重复随机码生成程序。
在图1所示的非重复随机码生成设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,并执行本发明实施例提供的非重复随机码生成方法。
所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,并执行以下操作:
获取目标业务对应的目标字符串长度;
通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码;
计算所述第一待拼接随机码的目标哈希值;
按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度;
将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
判断所述目标字符串长度是否小于或等于预设长度;
若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串;
对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系;
根据所述倍数关系确定参考随机码的目标串数;
通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数;
对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
通过预设伪随机码产生器生成随机长整形数据;
对所述随机长整形数据进行格式转换,获得正整形格式的绝对值正整数;
通过预设字符转换方式对所述正整形格式的绝对值正整数进行字符转换,获得字符串类型的参考随机码。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
接收目标用户输入的用户随机码;
对所述用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码;
计算所述第一待验证随机码的待验证哈希值;
将所述待验证哈希值与所述第二待验证随机码进行匹配;
若匹配失败,则进行身份验证失败提示。
进一步地,所述非重复随机码生成设备通过处理器1001调用存储器1005中存储的非重复随机码生成程序,还执行以下操作:
若匹配成功,则将所述目标随机码与所述用户随机码进行匹配,以验证所述目标用户的身份。
本实施例中,通过通过获取目标业务对应的目标字符串长度,通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码,使得所述第一待拼接随机码的构成可以是自定义数字及字母的任意组合;计算第一待拼接随机码的目标哈希值,按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度,将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
基于上述硬件结构,提出本发明非重复随机码生成方法的实施例。
参照图2,图2为本发明非重复随机码生成方法第一实施例的流程示意图,提出本发明非重复随机码生成方法第一实施例。
在第一实施例中,所述非重复随机码生成方法包括以下步骤:
步骤S10:获取目标业务对应的目标字符串长度。
应理解的是,本实施例的执行主体是所述非重复随机码生成设备,所述非重复随机码生成设备可以是个人电脑、台式电脑或者服务器等电子设备。为了满足业务需求,提升随机码的灵活性,可根据不同业务需求,设置不同长度的随机码用于各业务的身份验证流程。所述目标业务的目标字符串长度,即用于所述目标业务验证流程的目标随机码长度。可预先设置不同业务与对应的字符串长度之间的对应关系,从所述对应关系中查找所述目标业务对应的所述目标字符串长度。
步骤S20:通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码。
可理解的是,所述预设伪随机码产生器包括基于Java语言的软件开发工具包(Java Development Kit,简称JDK)的SecureRandom对象等。通过基于JDK的SecureRandom对象使用nextLong方式生成long类型的随机长整形数据A,并将所述随机长整形数据A转化为正整形格式的绝对值正整数,再调用JDK的Long.toString(A,radix)方式radix传36位数(数字+字母)生成字符串类型的10-13位所述参考随机码。
需要说明的是,为了降低所述目标随机码的重复率,可将所述目标随机码的最后2位采用校验位,所述第一长度为所述目标字符串长度减去2。可对所述参考随机码进行截取,仅截取所述参考随机码的部分字符作为所述第一待拼接随机码,所述第一预设处理规则可以是对所述参考随机码通过subString方式截取前面所述第一长度的字符,作为所述第一待拼接随机码。
步骤S30:计算所述第一待拼接随机码的目标哈希值。
应理解的是,现有技术中,随机码无代码层面校验,每次只能和数据库进行查询交互,增大数据库负荷,为了降低数据库负荷,可将所述目标随机码的最后2位采用校验位。通过哈希函数计算所述第一待拼接随机码的所述目标哈希值。
步骤S40:按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度。
在具体实现中,所述第二预设处理规则可以是将所述目标哈希值转化为范围是0-10加A-Z的16进制字符串,再截取前2位字符串作为所述第二待拼接随机码,所述第二长度取值为2。本实施例中,所述步骤S40,包括:对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
步骤S50:将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
可理解的是,所述参考随机码可以是数字+字母格式的字符串,也可根据业务需求自定义长度,也就可以实现自定义所述目标字符串长度,从而使得最终生成的所述目标随机码长度是可以自定的,构成也可以自定义数字及字母的任意组合,降低批量生成的所述目标随机码的重复率。所述第一待拼接随机码和所述第二待拼接随机码的获取方式为不同的算法,因此,将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码,重复率较低。
例如,所述目标业务需要使用12位字符串,则所述目标字符串长度为12,使用subString方式截取所述参考随机码的前10位,作为所述第一待拼接随机码。最后两位采用校验位的形式,根据所取具有10位的第一待拼接随机码计算出hash值,获得所述目标哈希值,将所述目标哈希值转化为范围为0-10加A-Z的16进制字符串,然后再截取前2位字符串作为校验位,即作为所述第二待拼接随机码,将所述第二待拼接随机码追加到10位的第一待拼接随机码,组合获得的12位不重复随机码,即为所述目标随机码。校验位的作用有两个,一是增加了hash算法生成所述目标随机码的后两位,使得完整12位随所述目标机码采用两种算法,重复率极低,经验证100万条数据重复率为0;二是所述目标随机码的后两位可作为后续代码层面的校验。
本实施例中,通过获取目标业务对应的目标字符串长度,通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码,使得所述第一待拼接随机码的构成可以是自定义数字及字母的任意组合;计算第一待拼接随机码的目标哈希值,按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度,将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
参照图3,图3为本发明非重复随机码生成方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明非重复随机码生成方法的第二实施例。
在第二实施例中,所述步骤S20,具体包括:
步骤S201:判断所述目标字符串长度是否小于或等于预设长度。
应理解的是,通过预设伪随机码产生器生成参考随机码,所述参考随机码的长度范围为10-13位,在使用所述参考随机码时通常截取所述第一长度的字符作为第一待拼接随机码,则所述预设长度只要大于或等于所述目标字符串长度加上2,只生成一串参考随机码,即能满足使用需求,可将所述预设长度设置为所述参考随机码的长度加上2,则所述预设长度的取值包括12、13、14和15。将所述目标字符串长度与所述预设长度进行比较,设置所述预设长度为15,若所述目标字符串长度15位,则所述第一长度为13位,所述预设随机码产生器生成一串长度为13位的所述参考码,就能满足对所述参考码截取所述第一长度的需求。
步骤S202:若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串。
可理解的是,若所述目标字符串长度小于或等于所述预设长度,所述预设随机码产生器生成一串所述参考码即可。
本实施例中,所述通过预设伪随机码产生器生成参考随机码,具体包括:
通过预设伪随机码产生器生成随机长整形数据;
对所述随机长整形数据进行格式转换,获得正整形格式的绝对值正整数;
通过预设字符转换方式对所述正整形格式的绝对值正整数进行字符转换,获得字符串类型的参考随机码。
需要说明的是,所述预设伪随机码产生器包括基于Java语言的软件开发工具包(Java Development Kit,简称JDK)的SecureRandom对象等。通过基于JDK的SecureRandom对象使用nextLong方式生成long类型的所述随机长整形数据A,并将所述随机长整形数据A转化为正整形格式的绝对值正整数,预设字符转换方式为JDK的Long.toString(A,radix)方式,则再调用JDK的Long.toString(A,radix)方式radix传36位数(数字+字母)生成字符串类型的10-13位所述参考随机码。
步骤S203:对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
需要说明的是,为了降低所述目标随机码的重复率,可将所述目标随机码的最后2位采用校验位,所述第一长度为所述目标字符串长度减去2。举例说明,若所述目标业务需要使用12位字符串,则所述目标字符串长度为12,使用subString方式截取所述13位的参考随机码的前10位,作为所述第一待拼接随机码,即所述第一长度为10位。
本实施例中,所述步骤S201之后,还包括:
步骤S204:若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系。
应理解的是,若所述目标字符串长度大于所述预设长度,将所述目标字符串长度除以所述预设长度,获得所述目标字符串长度与所述预设长度之间的倍数关系。
步骤S205:根据所述倍数关系确定参考随机码的目标串数。
可理解的是,判断所述倍数关系是否为整数,若所述倍数关系为整数,则将所述倍数关系直接作为所述目标串数,若所述倍数关系不是整数,即所述倍数关系包括小数点,则对所述倍数关系取整并加上1,作为所述目标串数。比如,若所述倍数关系为2,则所述参考随机码的目标串数为2串;若所述倍数关系为2.1,则所述倍数关系取整为2,并加上1,结果为3,即所述参考随机码的目标串数为3串。
步骤S206:通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数。
需要说明的是,所述预设伪随机码产生器包括基于Java语言的软件开发工具包(Java Development Kit,简称JDK)的SecureRandom对象等。通过基于JDK的SecureRandom对象使用nextLong方式生成long类型的随机长整形数据A,并将所述随机长整形数据A转化为正整形格式的绝对值正整数,所述预设长度为13位,则再调用JDK的Long.toString(A,radix)方式radix传36位数(数字+字母)生成字符串类型的13位所述参考随机码。可对上述生成参考随机码的步骤进行重复执行,以获得所述目标串数的参考随机码,比如,所述目标串数为2,则对上述过程生成参考随机码的步骤进行一次重复执行,则能够获得2串所述参考随机码。
步骤S207:对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
举例说明,所述目标业务需要使用18位字符串,即所述目标字符串长度为18位,则所述第一长度为16,所述预设长度设置为15位,则所述目标字符串长度与所述预设长度之间的倍数关系为1.2,则所述目标串数为2,通过所述预设伪随机码产生器生成2串长度为13位的参考随机码,将2串参考随机码进行拼接,获得26位的随机码;再使用subString方式截取所述26位的随机码的前16位,作为所述第一待拼接随机码。最后两位采用校验位的形式,根据所取具有16位的第一待拼接随机码计算出hash值,获得所述目标哈希值,将所述目标哈希值转化为范围为0-10加A-Z的16进制字符串,然后再截取转化后字符串的前2位字符串作为校验位,即作为所述第二待拼接随机码,将所述第二待拼接随机码追加到16位的第一待拼接随机码,组合获得的18位随机码,即为所述目标随机码。
本实施例中,所述参考随机码可以是数字+字母格式的字符串,也可根据业务需求自定义长度,也就可以实现自定义所述目标字符串长度,从而使得最终生成的所述目标随机码长度是可以自定的,构成也可以自定义数字及字母的任意组合,降低批量生成的所述目标随机码的重复率。
参照图4,图4为本发明非重复随机码生成方法第三实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明非重复随机码生成方法的第三实施例。
在第三实施例中,所述步骤S50之后,还包括:
步骤S60:接收目标用户输入的用户随机码。
应理解的是,通常将生成的所述目标随机码插入数据库中,并可运用到抽奖卡号、会员卡号、卡券号、身份认证及令牌(token)等多个业务场景中,所述目标用户在前端输入了唯一的所述用户随机码,则可通过对所述用户随机码进行验证,以验证所述目标用户身份。
步骤S70:对所述用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码。
可理解的是,所述目标随机码由具有第一长度的第一待拼接随机码和具有第二长度的第二待待拼接随机码组合而成,则可对所述用户随机码进行拆分,将所述用户随机码后面的2位随机码作为具有所述第二长度的第二待验证随机码,所述用户随机码前面的剩余长度的随机码即为具有所述第一长度的第一待验证随机码。
步骤S80:计算所述第一待验证随机码的待验证哈希值。
需要说明的是,通过哈希函数计算所述第一待验证随机码的哈希值,作为所述待验证哈希值。
步骤S90:将所述待验证哈希值与所述第二待验证随机码进行匹配。
在具体实现中,由于所述目标随机码的后面两位就是所述第一待拼接随机码的目标哈希值的前两位,则可按照所述第二预设处理规则对所述待验证哈希值进行处理,获得具有第二长度的理论哈希值。所述第二预设处理规则可以是将所述目标哈希值转化为范围是0-10加A-Z的16进制字符串,再截取前2位字符串作为所述第二待拼接随机码,所述第二长度取值为2。则将所述理论哈希值与所述第二待验证随机码进行匹配,若匹配成功,则说明所述用户随机码符合所述目标随机码的组成规则,通常将生成的所述目标随机码插入数据库中,则可进一步从数据库中获取所述目标随机码,再通过所述目标随机码对所述用户随机码进行验证,以验证用户身份,若所述用户随机码能够匹配上数据库中的所述目标随机码,则所述目标用户身份验证通过,可进行相应的业务操作。本实施例中,所述步骤S90之后,还包括:若匹配成功,则将所述目标随机码与所述用户随机码进行匹配,以验证所述目标用户的身份。
步骤S100:若匹配失败,则进行身份验证失败提示。
可理解的是,若所述待验证哈希值与所述第二待验证随机码匹配失败,说明所述用户随机码不符合所述目标随机码的组成规则,则所述用户随机码肯定不是所述目标业务对应的目标验证码,则无需从数据库中获取所述目标验证码对所述用户验证码进行验证,即可认定所述目标用户的身份验证失败,可通过语音或者文字提示所述目标用户的身份验证失败。
本实施例中,对用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码,计算所述第一待验证随机码的待验证哈希值,将所述待验证哈希值与所述第二待验证随机码进行匹配,若不匹配则直接拒绝,不进行数据库查询,若匹配则进行下一步数据库校验,避免了垃圾数据重复数据库查询,减小数据库及系统的负荷。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有非重复随机码生成程序,所述非重复随机码生成程序被处理器执行时实现如下步骤:
获取目标业务对应的目标字符串长度;
通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码;
计算所述第一待拼接随机码的目标哈希值;
按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度;
将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
判断所述目标字符串长度是否小于或等于预设长度;
若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串;
对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系;
根据所述倍数关系确定参考随机码的目标串数;
通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数;
对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
通过预设伪随机码产生器生成随机长整形数据;
对所述随机长整形数据进行格式转换,获得正整形格式的绝对值正整数;
通过预设字符转换方式对所述正整形格式的绝对值正整数进行字符转换,获得字符串类型的参考随机码。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
接收目标用户输入的用户随机码;
对所述用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码;
计算所述第一待验证随机码的待验证哈希值;
将所述待验证哈希值与所述第二待验证随机码进行匹配;
若匹配失败,则进行身份验证失败提示。
进一步地,所述非重复随机码生成程序被处理器执行时还实现如下操作:
若匹配成功,则将所述目标随机码与所述用户随机码进行匹配,以验证所述目标用户的身份。
本实施例中,通过获取目标业务对应的目标字符串长度,通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码,使得所述第一待拼接随机码的构成可以是自定义数字及字母的任意组合;计算第一待拼接随机码的目标哈希值,按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度,将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
此外,参照图5,本发明实施例还提出一种非重复随机码生成装置,所述非重复随机码生成装置包括:
获取模块10,用于获取目标业务对应的目标字符串长度。
应理解的是,为了满足业务需求,提升随机码的灵活性,可根据不同业务需求,设置不同长度的随机码用于各业务的身份验证流程。所述目标业务的目标字符串长度,即用于所述目标业务验证流程的目标随机码长度。可预先设置不同业务与对应的字符串长度之间的对应关系,从所述对应关系中查找所述目标业务对应的所述目标字符串长度。
生成模块20,用于通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码。
可理解的是,所述预设伪随机码产生器包括基于Java语言的软件开发工具包(Java Development Kit,简称JDK)的SecureRandom对象等。通过基于JDK的SecureRandom对象使用nextLong方式生成long类型的随机长整形数据A,并将所述随机长整形数据A转化为正整形格式的绝对值正整数,再调用JDK的Long.toString(A,radix)方式radix传36位数(数字+字母)生成字符串类型的10-13位所述参考随机码。
需要说明的是,为了降低所述目标随机码的重复率,可将所述目标随机码的最后2位采用校验位,所述第一长度为所述目标字符串长度减去2。可对所述参考随机码进行截取,仅截取所述参考随机码的部分字符作为所述第一待拼接随机码,所述第一预设处理规则可以是对所述参考随机码通过subString方式截取前面所述第一长度的字符,作为所述第一待拼接随机码。
计算模块30,用于计算所述第一待拼接随机码的目标哈希值。
应理解的是,现有技术中,随机码无代码层面校验,每次只能和数据库进行查询交互,增大数据库负荷,为了降低数据库负荷,可将所述目标随机码的最后2位采用校验位。通过哈希函数计算所述第一待拼接随机码的所述目标哈希值。
处理模块40,用于按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度。
在具体实现中,所述第二预设处理规则可以是将所述目标哈希值转化为范围是0-10加A-Z的16进制字符串,再截取前2位字符串作为所述第二待拼接随机码,所述第二长度取值为2。本实施例中,所述步骤S40,包括:对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
拼接模块50,用于将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码。
可理解的是,所述参考随机码可以是数字+字母格式的字符串,也可根据业务需求自定义长度,也就可以实现自定义所述目标字符串长度,从而使得最终生成的所述目标随机码长度是可以自定的,构成也可以自定义数字及字母的任意组合,降低批量生成的所述目标随机码的重复率。所述第一待拼接随机码和所述第二待拼接随机码的获取方式为不同的算法,因此,将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码,重复率较低。
例如,所述目标业务需要使用12位字符串,则所述目标字符串长度为12,使用subString方式截取所述参考随机码的前10位,作为所述第一待拼接随机码。最后两位采用校验位的形式,根据所取具有10位的第一待拼接随机码计算出hash值,获得所述目标哈希值,将所述目标哈希值转化为范围为0-10加A-Z的16进制字符串,然后再截取前2位字符串作为校验位,即作为所述第二待拼接随机码,将所述第二待拼接随机码追加到10位的第一待拼接随机码,组合获得的12位不重复随机码,即为所述目标随机码。校验位的作用有两个,一是增加了hash算法生成所述目标随机码的后两位,使得完整12位随所述目标机码采用两种算法,重复率极低,经验证100万条数据重复率为0;二是所述目标随机码的后两位可作为后续代码层面的校验。
本实施例中,通过获取目标业务对应的目标字符串长度,通过预设伪随机码产生器生成参考随机码,按照第一预设处理规则对参考随机码进行处理,获得具有第一长度的第一待拼接随机码,使得所述第一待拼接随机码的构成可以是自定义数字及字母的任意组合;计算第一待拼接随机码的目标哈希值,按照第二预设处理规则对第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,第一长度与第二长度之和等于目标字符串长度,将第一待拼接随机码和第二待拼接随机码进行拼接,获得具有目标字符串长度的目标随机码,目标随机码由两种不同生成方式获得的随机码拼接而成,从而降低目标随机码的重复率。
在一实施例中,所述生成模块20,还用于判断所述目标字符串长度是否小于或等于预设长度;若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串;对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
在一实施例中,所述生成模块20,还用于若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系;根据所述倍数关系确定参考随机码的目标串数;通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数;对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
在一实施例中,所述生成模块20,还用于通过预设伪随机码产生器生成随机长整形数据;对所述随机长整形数据进行格式转换,获得正整形格式的绝对值正整数;通过预设字符转换方式对所述正整形格式的绝对值正整数进行字符转换,获得字符串类型的参考随机码。
在一实施例中,所述拼接模块50,还用于对所述第一待拼接随机码的目标哈希值进行字符串转换,并对转换获得的字符串进行字符串截取,获得具有第二长度的第二待拼接随机码。
在一实施例中,所述非重复随机码生成装置还包括:
接收模块,用于接收目标用户输入的用户随机码;
拆分模块,用于对所述用户随机码进行拆分,获得具有所述第一长度的第一待验证随机码和具有所述第二长度的第二待验证随机码;
所述计算模块30,还用于计算所述第一待验证随机码的待验证哈希值;
匹配模块,用于将所述待验证哈希值与所述第二待验证随机码进行匹配;
提示模块,用于若匹配失败,则进行身份验证失败提示。
在一实施例中,所述匹配模块,还用于若匹配成功,则将所述目标随机码与所述用户随机码进行匹配,以验证所述目标用户的身份。
本发明所述非重复随机码生成装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (2)
1.一种非重复随机码生成方法,其特征在于,所述非重复随机码生成方法包括以下步骤:
获取目标业务对应的目标字符串长度;
通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码;
计算所述第一待拼接随机码的目标哈希值;
按照第二预设处理规则对所述第一待拼接随机码的目标哈希值进行处理,获得具有第二长度的第二待拼接随机码,所述第一长度与所述第二长度之和等于所述目标字符串长度;
将所述第一待拼接随机码和所述第二待拼接随机码进行拼接,获得具有所述目标字符串长度的目标随机码;
所述通过预设伪随机码产生器生成参考随机码,并按照第一预设处理规则对所述参考随机码进行处理,获得具有第一长度的第一待拼接随机码,具体包括:
判断所述目标字符串长度是否小于或等于预设长度;
若所述目标字符串长度小于或等于所述预设长度,则通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为一串;
对所述预设长度的参考随机码通过预设截取字符串方式进行字符串截取,获得具有第一长度的第一待拼接随机码。
2.如权利要求1所述的非重复随机码生成方法,其特征在于,所述判断所述目标字符串长度是否小于或等于预设长度之后,所述非重复随机码生成方法还包括:
若所述目标字符串长度大于所述预设长度,则计算所述目标字符串长度与所述预设长度之间的倍数关系;
根据所述倍数关系确定参考随机码的目标串数;
通过预设伪随机码产生器生成参考随机码,所述参考随机码的数量为所述目标串数;
对所述目标串数的参考随机码进行拼接及截取处理,获得具有第一长度的第一待拼接随机码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110237729.0A CN112764715A (zh) | 2019-04-25 | 2019-04-25 | 一种随机码生成装置 |
CN201910342892.6A CN110275695B (zh) | 2019-04-25 | 2019-04-25 | 非重复随机码生成方法、设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910342892.6A CN110275695B (zh) | 2019-04-25 | 2019-04-25 | 非重复随机码生成方法、设备、存储介质及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110237729.0A Division CN112764715A (zh) | 2019-04-25 | 2019-04-25 | 一种随机码生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275695A CN110275695A (zh) | 2019-09-24 |
CN110275695B true CN110275695B (zh) | 2021-03-23 |
Family
ID=67959569
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110237729.0A Withdrawn CN112764715A (zh) | 2019-04-25 | 2019-04-25 | 一种随机码生成装置 |
CN201910342892.6A Active CN110275695B (zh) | 2019-04-25 | 2019-04-25 | 非重复随机码生成方法、设备、存储介质及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110237729.0A Withdrawn CN112764715A (zh) | 2019-04-25 | 2019-04-25 | 一种随机码生成装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN112764715A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110675199A (zh) * | 2019-10-08 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种基于hash算法生成不重复优惠码的方法 |
CN111899807B (zh) * | 2020-06-12 | 2024-05-28 | 中国石油天然气股份有限公司 | 一种分子结构生成方法、系统、设备及存储介质 |
CN114650175B (zh) * | 2022-03-21 | 2024-04-02 | 网宿科技股份有限公司 | 一种验证方法及装置 |
CN116488810B (zh) * | 2023-06-21 | 2023-10-20 | 鼎铉商用密码测评技术(深圳)有限公司 | 身份鉴别方法、身份鉴别系统以及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789002A (zh) * | 2016-12-14 | 2017-05-31 | 长沙理工大学 | 一种基于身份信息的eeid标识生成方法 |
CN107392770A (zh) * | 2017-08-09 | 2017-11-24 | 北京云知科技有限公司 | 一种基于区块链的随机数产生方法及系统 |
CN109068326A (zh) * | 2018-07-24 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种认证方法、装置、终端、存储介质以及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856198B2 (en) * | 2012-03-30 | 2014-10-07 | Freescale Semiconductor, Inc. | Random value production methods and systems |
US20150160925A1 (en) * | 2013-12-06 | 2015-06-11 | Sonic Ip, Inc. | Methods, Systems, and Media for Generating Random Numbers |
CN104579694B (zh) * | 2015-02-09 | 2018-09-14 | 浙江大学 | 一种身份认证方法及系统 |
US9967093B2 (en) * | 2015-03-25 | 2018-05-08 | Intel Corporation | Techniques for securing and controlling access to data |
CN108388421A (zh) * | 2017-12-29 | 2018-08-10 | 北京欧链科技有限公司 | 随机数的生成方法和装置 |
-
2019
- 2019-04-25 CN CN202110237729.0A patent/CN112764715A/zh not_active Withdrawn
- 2019-04-25 CN CN201910342892.6A patent/CN110275695B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789002A (zh) * | 2016-12-14 | 2017-05-31 | 长沙理工大学 | 一种基于身份信息的eeid标识生成方法 |
CN107392770A (zh) * | 2017-08-09 | 2017-11-24 | 北京云知科技有限公司 | 一种基于区块链的随机数产生方法及系统 |
CN109068326A (zh) * | 2018-07-24 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种认证方法、装置、终端、存储介质以及系统 |
Non-Patent Citations (1)
Title |
---|
基于随机序列密钥的加解密方法;汪晓海;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070315;I136-313 * |
Also Published As
Publication number | Publication date |
---|---|
CN112764715A (zh) | 2021-05-07 |
CN110275695A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275695B (zh) | 非重复随机码生成方法、设备、存储介质及装置 | |
WO2020258655A1 (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
CN107911222B (zh) | 数字签名生成、验证方法及其设备和存储介质 | |
CN109214159B (zh) | 一种用于终端人脸识别云服务的用户信息保护系统和方法 | |
CN105357204B (zh) | 生成终端识别信息的方法及装置 | |
CN112487253B (zh) | 用户邀请码生成方法、验证方法、装置、设备及存储介质 | |
CN111352782A (zh) | 一种接口测试方法、装置、计算机设备及存储介质 | |
CN111259217A (zh) | 一种发票的存档方法、装置及计算机可读存储介质 | |
CN114065156A (zh) | 基于零知识证明的数据处理方法、系统、终端及存储介质 | |
CN111050326B (zh) | 基于区块链的短信验证方法、装置、设备及介质 | |
CN112613893A (zh) | 一种用户恶意注册识别方法、系统、设备及介质 | |
CN111355709A (zh) | 数据验证方法、装置、电子设备及计算机可读存储介质 | |
CN116226879A (zh) | 服务接口访问控制方法、装置、计算机设备和存储介质 | |
CN113873450B (zh) | 短信配置方法、装置、计算机设备和存储介质 | |
CN112882924B (zh) | 基于注册中心的测试环境搭建方法、装置、设备及介质 | |
CN114968822A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN109740369B (zh) | 一种信息隐写的检测方法及装置 | |
CN111538481B (zh) | 应用程序定制化方法及系统 | |
CN112396418A (zh) | 一种信息处理方法、装置及系统 | |
CN112667273A (zh) | 页面按钮的权限管理方法、装置、计算机设备和存储介质 | |
EP4322038A1 (en) | File confirmation apparatus, file confirmation method, and file confirmation program | |
CN114710352B (zh) | 一种php系统的密码调用方法、装置、电子设备及存储介质 | |
CN113360178B (zh) | 软件唯一识别码生成方法、装置、设备及可读存储介质 | |
CN113643082B (zh) | 基于人工智能的发票处理方法、装置、计算机设备和介质 | |
CN113098847B (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 |