个性化地址生成方法、装置、电子设备及存储介质与流程

文档序号:16001932发布日期:2018-11-20 19:34阅读:162来源:国知局

本申请涉及区块链技术领域,具体而言,本申请涉及一种个性化地址生成方法、装置、电子设备及存储介质。



背景技术:

区块链中的所有权是通过数字密钥、区块链地址和数字签名来确立的。数字密钥实际上并不是存储在网络中,而是由用户生成并存储在一个文件或简单的数据库中,称为钱包。存储在用户钱包中的数字密钥完全独立于区块链协议,可由用户的钱包软件生成并管理,无需与区块链或网络连接。

以比特币系统为例,随机生成一个256位的二进制数作为私钥,然后通过加密函数对这个私钥进行加密,以得到用户的区块链地址。由于私钥是系统随机生成的,而区块链地址又是基于私钥生成的,因此用户无法控制最终生成的区块链地址,导致系统生成的区块链地址无法满足用户的个性化需求。



技术实现要素:

本申请提供了一种个性化地址生成方法、装置、电子设备及计算机可读存储介质,可以解决区块链系统无法生成符合用户个性化需求的地址的问题。所述技术方案如下:

第一方面,本申请提供了一种个性化地址生成方法,该方法包括:

获取输入的期望地址;

获取随机地址;

判断随机地址与期望地址是否匹配,若是,则将随机地址作为个性化地址输出,否则,获取新的随机地址,直到新的随机地址与期望地址匹配。

可选地,期望地址包括期望字符串;

判断随机地址与期望地址是否匹配,包括:判断随机地址中是否存在与期望字符串相同的字符串。

可选地,判断随机地址中是否存在与期望字符串相同的字符串,包括:

判断随机地址中是否存在与期望字符串的首字符相同的第一字符;

若随机地址中存在与期望字符串的首字符相同的第一字符,则判断第一字符后的第N个字符是否与期望字符串的尾字符相同,其中,N等于期望字符串的长度减1;

若第一字符后的第N个字符是与期望字符串的尾字符相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;

若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中存在与期望字符串相同的字符串。

可选地,期望地址包括期望字符串以及期望字符串的期望位置;

判断随机地址与期望地址是否匹配,包括:判断随机地址中与期望位置相同的位置处是否存在与期望字符串相同的字符串。

可选地,判断随机地址中与期望位置相同的位置处是否存在与期望字符串相同的字符串,包括:

确定随机地址中与期望字符串的首字符相同的第一字符在随机地址中的位置;

判断第一字符在随机地址中的位置与期望位置是否相同;

若第一字符在随机地址中的位置与期望位置相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;

若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中与期望位置相同的位置处存在与期望字符串相同的字符串。

第二方面,本申请提供了一种个性化地址生成装置,该装置包括:

第一获取模块,用于获取输入的期望地址;

第二获取模块,用于获取随机地址;

匹配模块,用于判断随机地址与期望地址是否匹配,若是,则将随机地址作为个性化地址输出,否则,执行第二获取模块的功能,直到新的随机地址与期望地址匹配。

可选地,期望地址包括期望字符串;

匹配模块具体用于:判断随机地址中是否存在与期望字符串相同的字符串。

可选地,匹配模块具体用于:

判断随机地址中是否存在与期望字符串的首字符相同的第一字符;

若随机地址中存在与期望字符串的首字符相同的第一字符,则判断第一字符后的第N个字符是否与期望字符串的尾字符相同,其中,N等于期望字符串的长度减1;

若第一字符后的第N个字符是与期望字符串的尾字符相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;

若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中存在与期望字符串相同的字符串。

可选地,期望地址包括期望字符串以及期望字符串的期望位置;

匹配模块具体用于:判断随机地址中与期望位置相同的位置处是否存在与期望字符串相同的字符串。

可选地,匹配模块具体用于:

确定随机地址中与期望字符串的首字符相同的第一字符在随机地址中的位置;

判断第一字符在随机地址中的位置与期望位置是否相同;

若第一字符在随机地址中的位置与期望位置相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;

若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中与期望位置相同的位置处存在与期望字符串相同的字符串。

第三方面,本申请提供了一种电子设备,该电子设备包括:一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行本申请第一方面所示的个性化地址生成方法。

第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的个性化地址生成方法。

本申请实施例提供的技术方案带来的有益效果是:能够基于用户输入的期望地址,生成满足用户个性化需求的区块链地址,提高了用户体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种个性化地址生成方法的流程示意图;

图2为本申请实施例提供的一种个性化地址生成装置的结构示意图;

图3为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

实施例一

本申请实施例提供了一种个性化地址生成方法,如图1所示,该方法包括:

步骤S101、获取输入的期望地址;步骤S102、获取随机地址;步骤S103、判断随机地址与期望地址是否匹配;若匹配,则执行步骤S104、将随机地址作为个性化地址输出;若不匹配,则返回步骤S102,以获取新的随机地址。

其中,期望地址是指用户期望的区块链地址。例如,用户期望的区块链地址的尾部字符为0360,或前端字符为CN2018。

其中,随机地址是指依据区块链系统的地址生成算法随机生成的区块链地址。例如,17Rts7fvY9Co2kja4DirzAbFX57j858yfx即为一个随机生成的区块链地址。

首先,用户输入一个期望地址。个性化地址生成系统获取到用户输入的期望地址后,利用地址生成算法随机生成一个随机地址add1,判断这个随机地址add1与用户输入的期望地址是否匹配,若这个随机地址add1与用户输入的期望地址匹配,则将随机地址add1作为个性化地址输出,即生成了满足用户期望的个性化地址;若随机地址add1与期望地址不匹配,则继续利用地址生成算法随机生成一个新的随机地址add2,判断随机地址add2与用户输入的期望地址是否匹配,若匹配,则将随机地址add1作为个性化地址,若不匹配,则继续利用地址生成算法随机生成一个新的随机地址;以此类推,直到新的随机地址与期望地址匹配为止。

本实施例提供的个性化地址生成方法,能够基于用户输入的期望地址,生成满足用户个性化需求的区块链地址,提高了用户体验。

实施例二

本申请实施例提供了另一种可能的实现方式,在实施例一的基础上,还包括实施例二所示的方法。

可选地,期望地址包括期望字符串。期望字符串可以是由数字和/或字母组成的字符串,例如:360、Beijing、Bond007等。

可选地,步骤S103包括:判断随机地址中是否存在与期望字符串相同的字符串。

例如,当用户输入的期望字符串为“2018”时,获取一个随机地址,判断该随机地址中是否存在字符串“2018”,若存在“2018”,则该随机地址符合用户的需求,作为个性化地址输出。

进一步地,步骤S103具体包括步骤S1031、步骤S1032、步骤S1033、步骤S1034、步骤S1034:

步骤S1031、判断随机地址中是否存在与期望字符串的首字符相同的第一字符。

其中,首字符是指期望字符串中的第一个字符。例如,期望字符串“2018”的首字符为“2”。

其中,若随机地址中不存在与期望字符串的首字符相同的第一字符,则表示该随机地址与期望地址不匹配,返回执行步骤S102,以获取新的随机地址。

步骤S1032、若随机地址中存在与期望字符串的首字符相同的第一字符,则判断第一字符后的第N个字符是否与期望字符串的尾字符相同,其中,N等于期望字符串的长度减1。

其中,尾字符为是指期望字符串中的最后一个字符。例如,期望字符串“2018”的尾字符为“8”。

例如,期望字符串为“2018”,期望字符串的长度为4,随机地址为“j2018n9379dn”,随机地址的第2个字符“2”与期望字符串的首字符相同,则判断随机地址的5个字符是否与期望字符串的尾字符“8”相同。

其中,若随机地址中的第一字符后的第N个字符与期望字符串的尾字符不相同,则表示该随机地址与期望地址不匹配,返回执行步骤S102,以获取新的随机地址。

步骤S1033、若第一字符后的第N个字符是与期望字符串的尾字符相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同。

例如,期望字符串为“2018”,期望字符串的长度为4,随机地址为“j2018n9379dn”,随机地址的第2个字符“2”与期望字符串的首字符相同,且随机地址的5个字符“8”与期望字符串的尾字符相同,则从随机地址中第3个字符开始,逐一比对随机地址与期望字符串中第二个字符“0”开始的每对相同位置的字,即:比对随机地址中第3个字符与期望字符串的第2个字符是否相同,若不相同,则表示该随机地址与期望地址不匹配,返回执行步骤S102,以获取新的随机地址,若相同,则继续比对随机地址中第4个字符与期望字符串的第3个字符是否相同。

步骤S1034、若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中存在与期望字符串相同的字符串。

上述方法先确定随机地址中是否有期望字符串的首字符,当不存在首字符时,直接判断该随机地址不符合用户的期望;当随机地址中有期望字符串的首字符时,判断随机字符串的相应位置是否存在期望字符串的尾字符,当相应位置不存在尾字符时,直接判断该随机地址不符合用户的期望;最后,再逐个判断期望字符串的中间字符是否正确。通过上述方法,分阶段匹配期望地址与随机地址,可快速地判断出不符合期望地址的随机地址,提高匹配效率。

可选地,期望地址包括期望字符串以及期望字符串的期望位置。

其中,期望字符串可以是由数字和/或字母组成的字符串,例如:360、Beijing、Bond007等。

其中,期望位置是指期望地址的第m个字符开始,连续的多个字符组成的字符串与期望字符串相同,m即是用户输入的期望位置。

例如,用户输入的期望位置是“1”,期望字符串为“2018”,则期望地址为“2018######”;用户输入的期望位置是“3”,期望字符串为“2018”,则期望地址为“##2018####”;用户输入的期望位置是“7”,期望字符串为“2018”,则期望地址为“######2018”。这里假设系统生成的地址为10位,“#”表示用户对这些位置的字符不做要求。

当然,用户也可以输入多个期望位置,期望位置也可以是一个范围。

可选地,步骤S103包括:判断随机地址中与期望位置相同的位置处是否存在与期望字符串相同的字符串。

例如,当用户输入的期望字符串为“2018”,期望位置是“1”时,获取一个随机地址,判断该随机地址的前4个字符是否存为“2018”,若是,则该随机地址符合用户的需求,作为个性化地址输出。

进一步地,当期望位置是一个范围时,步骤S103具体包括步骤S1131、步骤S1132、步骤S1133、步骤S1134:

步骤S1131、确定随机地址中与期望字符串的首字符相同的第一字符在随机地址中的位置。

例如,用户输入的期望位置是1-3,期望字符串为“2018”。生成的随机地址为“2018n9392dn”,识别到随机地址中存在期望地址的首字符“2”,且识别随机地址中各个字符“2”对应的位置为“1”和“10”。

其中,当随机地址中不存在与期望字符串的首字符相同的字符时,则表示该随机地址与期望地址不匹配,返回执行步骤S102,以获取新的随机地址。

步骤S1132、判断第一字符在随机地址中的位置与期望位置是否相同。

例如,随机地址中各个字符“2”对应的位置为“1”和“10”,位置“1”落入用户输入的期望位置的范围中,位置“10”未在期望位置的范围中,则后续仅对位置“1”对应的字符进行处理。

其中,当第一字符在随机地址中的位置与期望位置不同时,则表示该随机地址与期望地址不匹配,返回执行步骤S102,以获取新的随机地址。

步骤S1133、若第一字符在随机地址中的位置与期望位置相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同。

从随机地址中第1个字符的下一个字符(即第2个字符)开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同,即比对随机地址“2018n9392dn”中的“018”与期望字符串“2018”中的“018”是否相同。

步骤S1134、若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中与期望位置相同的位置处存在与期望字符串相同的字符串。

进一步地,当期望位置是一个或多个确定的值时,步骤S103具体包括步骤S1231、步骤S1232、步骤S1233:

步骤S1231、判断在随机地址中与期望位置相同的位置处的字符是否与期望字符串的首字符相同。

例如,用户输入的期望位置是1,期望字符串为“2018”。生成的随机地址为“2018n9392dn”,判断随机地址中第1个字符手否与期望地址的首字符“2”相同。

步骤S1232、若相同,则从随机地址中与期望位置相同的位置处的字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同。

步骤S1233、若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中与期望位置相同的位置处存在与期望字符串相同的字符串。

实施例三

本申请实施例提供了一种个性化地址生成装置,如图2所示,该个性化地址生成装置20可以包括:第一获取模块201、第二获取模块202以及匹配模块203。

其中,第一获取模块201,用于获取输入的期望地址。

其中,第二获取模块202,用于获取随机地址。

其中,匹配模块203,用于判断随机地址与期望地址是否匹配,若是,则将随机地址作为个性化地址输出,否则,执行第二获取模块202的功能,直到新的随机地址与期望地址匹配。

首先,第一获取模块201获取到用户输入的期望地址。接着,第二获取模块202利用区块链地址生成算法随机生成一个随机地址add1。然后,由匹配模块203判断随机地址add1与用户输入的期望地址是否匹配,若随机地址add1与用户输入的期望地址匹配,则将随机地址add1作为个性化地址输出,即生成了满足用户期望的个性化地址;若随机地址add1与期望地址不匹配,则继续由第二获取模块202利用区块链地址生成算法随机生成一个新的随机地址add2,匹配模块203判断随机地址add2与用户输入的期望地址是否匹配,若匹配,则将随机地址add1作为个性化地址,若不匹配,则继续由第二获取模块202利用区块链地址生成算法随机生成一个新的随机地址,以此类推,直到新的随机地址与期望地址匹配为止。

本实施例提供的个性化地址生成装置,能够基于用户输入的期望地址,生成满足用户需求的个性化地址,提高了用户体验。

可选地,期望地址包括期望字符串。

相应地,匹配模块203具体用于:判断随机地址中是否存在与期望字符串相同的字符串,若是,则将随机地址作为个性化地址输出,否则,执行第二获取模块的功能,直到新的随机地址与期望地址匹配。

进一步地,匹配模块203具体用于:判断随机地址中是否存在与期望字符串的首字符相同的第一字符;若随机地址中存在与期望字符串的首字符相同的第一字符,则判断第一字符后的第N个字符是否与期望字符串的尾字符相同,其中,N等于期望字符串的长度减1;若第一字符后的第N个字符是与期望字符串的尾字符相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中存在与期望字符串相同的字符串。

可选地,期望地址包括期望字符串以及期望字符串的期望位置。

相应地,匹配模块203具体用于:判断随机地址中与期望位置相同的位置处是否存在与期望字符串相同的字符串,若是,则将随机地址作为个性化地址输出,否则,执行第二获取模块的功能,直到新的随机地址与期望地址匹配。

进一步地,匹配模块203具体用于:确定随机地址中与期望字符串的首字符相同的第一字符在随机地址中的位置;判断第一字符在随机地址中的位置与期望位置是否相同;若第一字符在随机地址中的位置与期望位置相同,则从随机地址中第一字符的下一个字符开始,逐一比对随机地址与期望字符串中第二个字符开始的每对相同位置的字符是否相同;若从随机地址中第一字符的下一个字符开始,随机地址与期望字符串中第二个字符开始的每对相同位置的字符均相同,则确定随机地址中与期望位置相同的位置处存在与期望字符串相同的字符串。

本实施例的个性化地址生成装置,采用了与实施例一、二的区块链中的个性化地址生成方法相同的发明构思,能够取得相同的有益效果,在此不再赘述。

实施例四

本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备300包括:处理器301和存储器303。其中,处理器301和存储器303相连,如通过总线302相连。可选地,电子设备300还可以包括收发器304。需要说明的是,实际应用中收发器304不限于一个,该电子设备300的结构并不构成对本申请实施例的限定。

其中,处理器301应用于本申请实施例中,用于实现图2所示的第一获取模块201、第二获取模块202以及匹配模块203的功能。收发器304包括接收机和发射机。

处理器301可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器301也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线302可包括一通路,在上述组件之间传送信息。总线302可以是PCI总线或EISA总线等。总线302可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器303可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选地,存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以实现图2所示实施例提供的个性化地址生成装置的动作。

与现有技术相比,本申请实施例提供的电子设备,能够基于用户输入的期望地址,生成满足用户个性化需求的区块链地址,提高了用户体验。

实施例五

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一所示的个性化地址生成方法。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,能够基于用户输入的期望地址,生成满足用户个性化需求的区块链地址,提高了用户体验。

可选地,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例二所示的个性化地址生成方法,在此不再赘述。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1