基于区块链的私钥存储方法、计算机设备和存储介质与流程

文档序号:16511582发布日期:2019-01-05 09:22阅读:234来源:国知局
基于区块链的私钥存储方法、计算机设备和存储介质与流程

本发明属于计算机技术领域,尤其涉及一种基于区块链的私钥存储方法、计算机设备和存储介质。



背景技术:

区块链作为分布式账本的一种,是一种互联网数据库技术,其特点是去中心化、公开透明。最早是比特币的底层技术,目前广泛应用与金融等领域。

2018年发生了两起区块链交易所被盗事件。2018年1月,日本最大的加密货币交易所遭黑客袭击,价值5.3亿美元的数字货币不翼而飞;2018年3月,全球第二大交易所币安遭遇黑客入侵,导致大量用户账户被盗。之所以黑客能轻易盗取区块链中的虚拟货币,是因为用户将区块链的私钥和地址都存储在一个中心化的系统中,一旦系统被攻破,则所有用户的账号安全都会受到威胁。



技术实现要素:

基于此,有必要针对上述的问题,提供一种基于区块链的私钥存储方法。

本发明实施例是这样实现的,提供了一种基于区块链的私钥存储方法,所述方法包括:

响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;

根据所述私钥密文及地址,生成二维码;

将所述二维码存储至所述用户指定的存储位置。

本发明实施例还提供了一种基于区块链的私钥存储装置,所述装置包括:

加密单元,用于响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;

生成单元,用于根据所述私钥密文,生成二维码;

存储单元,用于将所述二维码存储至所述用户指定的存储位置。

本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述私钥存储方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述私钥存储方法的步骤。

本发明实施例提供的基于区块链的私钥存储方法,通过响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;根据私钥密文,生成二维码,并将二维码存储至所述用户指定的存储位置,解决了用户区块链的私钥和地址的安全存储问题,避免出现因存储于中心化的系统而造成账户信息受盗威胁的情况,对用户账户信息安全更有保障。

附图说明

图1是本发明实施例一提供的一种基于区块链的私钥存储方法的实现流程图;

图2是本发明实施例二提供的一种基于区块链的私钥存储方法的实现流程图;

图3是本发明实施例三提供的一种基于区块链的私钥存储方法生成的二维码示意图;

图4是本发明实施例四提供的一种基于区块链的私钥存储装置的结构示意图;

图5是本发明实施例五提供的一种基于区块链的私钥存储装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。

为了进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如下。

本发明实施例提供的基于区块链的私钥存储方法,通过响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;根据私钥密文,生成二维码,并将二维码存储至所述用户指定的存储位置,解决了用户区块链的私钥和地址的安全存储问题,避免出现因存储于中心化的系统而造成账户信息受盗威胁的情况,对用户账户信息安全更有保障。

实施例一

图1示出了本发明实施例一提供的一种基于区块链的私钥存储方法的实现流程,详述如下:

在步骤s101中,响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文。

在本发明实施例中,私钥本质上是32个byte(字节)组成的数组,1个byte等于8位二进制,一个二进制只有两种可能性0或者1,所以私钥的总数就是2^(8*32)=2^256个,例如这样一段字符串5kyzdueo39z3fprtux2qbbwgnnp5ztd7yyr2sc1j299sbcnwjss,就是一个私钥,可以说只要是正确支持比特币协议的应用都可以把这段字符串识别为私钥。

在本发明实施例中,私钥的生成可以是由随机的选择256位0-2256数字,并对其进行sha256算法(安全散裂算法)获得,其核心是随机熵源的选择;如果采用十六进制标识,则私钥显示64位,具体可根据实际情况设置,在此不做限定。

在本发明实施例中,数据加密技术是指将一个信息(或称明文)经过加密钥匙及加密函数转换,变成无意义的密文,可以通过将此密文经过解密函数、解密钥匙还原成明文,在本实施例中用于对私钥进行加密。

在本发明实施例中,私钥密文是指经过对应加密技术加密后的私钥字符串,比如上述所述的无意义的密文。

在步骤s102中,根据所述私钥密文,生成二维码。

在本发明实施例中,二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理;可以是条形码、方形码或其他识别码,具体不做限定。

在步骤s103中,将所述二维码存储至所述用户指定的存储位置。

在本发明实施例中,所述二维码存储的格式可以为png、或jpg、或其他图片格式,确保其能用于传输即可。

在本发明实施例中,所述用户指定的存储位置可以是用户终端上的数据库、安全的私人硬盘或者其他储存设备中;终端可以以各种形式来实施。例如,终端可以包括诸如移动电话、智能电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)等等的移动终端以及诸如数字tv、台式计算机等的固定终端。

本发明实施例提供的基于区块链的私钥存储方法,通过响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;根据私钥密文,生成二维码,并将二维码存储至所述用户指定的存储位置,解决了用户区块链的私钥和地址的安全存储问题,避免出现因存储于中心化的系统而造成账户信息受盗威胁的情况,对用户账户信息安全更有保障。

实施例二

图2示出了本发明实施例二提供的一种基于区块链的私钥存储方法的实现流程,其与实施例一类似,不同之处在于,还包括:

在步骤s201中,响应用户的交易请求,从所述用户指定的存储位置获取所述二维码。

在本发明实施例中,从所述用户指定的存储位置获取所述二维码,包括:根据用户制定的存储位置,如私人硬盘,输出其所存储的二维码,以供用户使用。为了提高用户指定的存储位置的安全性,该存储位置的打开方式可以设置密码、语音识别等方式。

在步骤s202中,识别所述二维码,获取所述私钥密文。

在本发明实施例中,识别所述二维码,可以通过手机或者电脑摄像头扫码装置对二维码进行扫码,比如手机微信或者支付宝中的扫-扫设置均可以用于对此二维码进行识别。

在步骤s203中,根据用户输入的密码对所述私钥密文进行解密,获取私钥,以进行交易。

在本发明实施例中,根据用户输入的密码对所述私钥密文进行解密,获取私钥,以进行交易,包括:当用户输入的密码与私钥密文不匹配时,则解密失败,私钥获取失败,交易结束;当用户输入的密码与私钥密文匹配时,则解密成功,私钥成功获取,可直接进行交易。

本发明实施例提供的基于区块链的私钥存储方法,通过响应用户的交易请求,从用户指定的存储位置获取二维码,并识别所述二维码,获取私钥密文,根据用户输入的密码对私钥密文进行解密,获取私钥,以进行交易,大大提高了用户交易安全性,对用户账户信息安全更有保障。

实施例三

本发明实施例三与实施例一、二类似,不同之处在于,所述二维码中存储的数据结构除了包括私钥密文(ciphertext)外,还包括地址信息(address)、二维码版本信息(vertion)、账号信息(id)、二维码生成时间信息(time)以及数据加密技术标识信息(cipher);详述如下:

(1)私钥与地址的生成:

“l3eepasz6amhhca1zbrkg1nkkrobarwjgm8gyfxgyfgwu6tzjiba”和地址“17w2xovkgm6am7q1dntff3srh44upjaf5u”

(2)通过密码“123456a@”对私钥

“l3eepasz6amhhca1zbrkg1nkkrobarwjgm8gyfxgyfgwu6tzjiba”以

“aes-128-ecb”加密技术生成密钥

“sfkjktxxl8vf8isu+tmdp47ddnzeq/aftwyk/sgal8x0wdydjjxdi8uxrmwidtk5srv/qtaznoylazufvy3l5g==”

(3)将对应的字符串生成二维码(如图3所示的二维码示意图):

(4)将二维码存储在安全的私人硬盘或者其他储存设备中。

(5)当接收到用户的交易请求时,从二维码中读取出私钥密文和地址,输入密文密码对私钥密文解密后,进行交易。

本发明实施例提供的基于区块链的私钥存储方法,通过生成的私钥和地址,并对私钥进行加密,生成私钥密文,并根据地址、私钥密文、版本信息、账号信息、二维码生成时间信息以及数据加密技术标识信息生成二维码,并将二维码存储于安全的私人硬盘或者其他储存设备中,以供交易时使用,大大提高了用户交易安全性,对用户账户信息安全更有保障;解决了用户区块链的私钥和地址的安全存储问题。

实施例四

图4示出了本发明实施例四提供的一种基于区块链的私钥存储装置400的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

基于区块链的私钥存储装置400,包括加密单元401、生成单元402以及存储单元403。

加密单元401,用于响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文。

在本发明实施例中,加密单元401用于响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;其中,私钥的生成可以是由随机的选择256位0-2256数字,并对其进行sha256算法(安全散裂算法)获得,其核心是随机熵源的选择;如果采用十六进制标识,则私钥显示64位,具体可根据实际情况设置,在此不做限定。

在本发明实施例中,数据加密技术是指将一个信息(或称明文)经过加密钥匙及加密函数转换,变成无意义的密文,可以通过将此密文经过解密函数、解密钥匙还原成明文,在本实施例中用于对私钥进行加密;而私钥密文是指经过对应加密技术加密后的私钥字符串,比如上述所述的无意义的密文。

生成单元402,用于根据所述私钥密文,生成二维码。

在本发明实施例中,生成单元402用于根据所述私钥密文,生成二维码;二维码可以是条形码、方形码或其他识别码,具体不做限定。

存储单元403,用于将所述二维码存储至所述用户指定的存储位置。

在本发明实施例中,存储单元403用于将所述二维码存储至所述用户指定的存储位置;所述二维码存储的格式可以为png、或jpg、或其他图片格式,确保其能用于传输即可。

本发明实施例提供的基于区块链的私钥存储装置,通过响应用户的私钥存储请求,将生成的私钥通过数据加密技术进行加密,生成私钥密文;根据私钥密文,生成二维码,并将二维码存储至所述用户指定的存储位置,解决了用户区块链的私钥和地址的安全存储问题,避免出现因存储于中心化的系统而造成账户信息受盗威胁的情况,对用户账户信息安全更有保障。

实施例五

图5示出了本发明实施例五提供的一种基于区块链的私钥存储装置500的结构,其与实施例四类似,不同之处在于,还包括:响应单元501、识别单元502以及解密单元503。

响应单元501,用于响应用户的交易请求,从所述用户指定的存储位置获取所述二维码。

在本发明实施例中,响应单元501用于响应用户的交易请求,从所述用户指定的存储位置获取所述二维码;从所述用户指定的存储位置获取所述二维码,包括:根据用户制定的存储位置,如私人硬盘,输出其所存储的二维码,以供用户使用。为了提高用户指定的存储位置的安全性,该存储位置的打开方式可以设置密码、语音识别等方式。

识别单元502,用于识别所述二维码,获取所述私钥密文。

在本发明实施例中,识别单元502用于识别所述二维码,获取所述私钥密文;识别所述二维码,可以通过手机或者电脑摄像头扫码装置对二维码进行扫码,比如手机微信或者支付宝中的扫-扫设置均可以用于对此二维码进行识别。

解密单元503,用于根据用户输入的密码对所述私钥密文进行解密,获取私钥,以进行交易。

在本发明实施例中,解密单元503用于根据用户输入的密码对所述私钥密文进行解密,获取私钥,以进行交易;根据用户输入的密码对所述私钥密文进行解密,获取私钥,以进行交易,包括:当用户输入的密码与私钥密文不匹配时,则解密失败,私钥获取失败,交易结束;当用户输入的密码与私钥密文匹配时,则解密成功,私钥成功获取,可直接进行交易。

本发明实施例提供的基于区块链的私钥存储装置,通过响应用户的交易请求,从用户指定的存储位置获取二维码,并识别所述二维码,获取私钥密文,根据用户输入的密码对私钥密文进行解密,获取私钥,以进行交易,大大提高了用户交易安全性,对用户账户信息安全更有保障。

本发明实施例还提供了一种计算机设备,该计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现上述各个方法实施例提供的基于区块链的私钥存储方法的步骤。

本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被上述处理器执行时实现上述各个方法实施例提供的基于区块链的私钥存储方法的步骤。

示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。例如,所述计算机程序可以被分割成上述各个方法实施例提供的基于区块链的私钥存储方法的步骤。

本领域技术人员可以理解,上述计算机装置的描述仅仅是示例,并不构成对计算机装置的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个用户终端的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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