技术摘要:
本发明公开了一种基于区块链的私钥存储方法,步骤包括:获取已验证客户端发送的私钥以及对应所述私钥的保存密码;利用已验证客户端预留的联系号码和所述保存密码作为AES加密私钥信息,对所述私钥进行加密;生成智能合约,并将所述经过加密的私钥保存至所述智能合约。本 全部
背景技术:
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、 可以追溯、集体维护、公开透明等特点。 目前,区块链技术越来越受到社会的关注,国家也鼓励大力发展区块链技术,其中 区块链账户安全最重要的是保护账户的私钥,如果私钥丢失了,那么就不能登录账户,而现 有的电子备份私钥的存储方法容易被破解,用户保存的私钥容易被盗取或私钥数据丢失造 成用户损失,而且由于私钥的字符很多且没有排列规律,很难用人类记忆保存。
技术实现要素:
针对上述技术问题,本发明提供了一种基于区块链的私钥存储方法、装置及存储 介质,将私钥保存到智能合约,具备较强保密性且私钥保存数据不会丢失。 所述技术方案如下: 第一方面,本发明实施例提供了一种基于区块链的私钥存储方法,步骤包括: 获取已验证客户端发送的私钥以及对应所述私钥的保存密码; 利用已验证客户端预留的联系号码和所述保存密码作为AES加密私钥信息,对所 述私钥进行加密; 生成智能合约,并将所述经过加密的私钥保存至所述智能合约。 在本发明第一方面的第一种可能的实现方式中,所述将所述经过加密的私钥保存 至所述智能合约,具体为: 以所述联系号码和所述保存密码作为关键字、以经过加密的私钥作为存储数据, 保存到所述智能合约的数据组。 在本发明第一方面的第二种可能的实现方式中,当用户需要取用私钥时,步骤如 下: 接收到客户端输入的联系号码后,调用对应所述联系号码的智能合约; 接收客户端输入的保存密码;若所述保存密码和客户端输入的联系号码,与所述 智能合约存储的保存密码和联系号码一致,则提取所述智能合约存储的经过加密的私钥; 利用所述智能合约存储的保存密码和联系号码作为AES加密私钥信息,对所述经 过加密的私钥进行解密,得到私钥。 在本发明第一方面的第三种可能的实现方式中,用户保存私钥或取用私钥时需要 验证身份,具体步骤为: 获取客户端输入的手机号码; 随机生成短信验证码并保存至所述智能合约; 4 CN 111600701 A 说 明 书 2/8 页 对应所述手机号码发送所述短信验证码; 接收客户端反馈的短信验证码,若客户端反馈的短信验证码与所述智能合约保存 的验证码一致,则成功验证。 在本发明第一方面的第四种可能的实现方式中,所述随机生成短信验证码并保存 至所述智能合约,具体为: 以客户端输入手机号码为key值,value值包括所述短信验证码、发送时间、有效时 间、验证时间、验证错误次数、下次发送时间,并且将所述key值、value值存储到所述智能合 约的短信验证码数据组中。 第二方面,本发明实施例提供了一种基于区块链的私钥存储装置,包括: 接收模块,用于获取已验证客户端发送的私钥以及对应所述私钥的保存密码; 加密模块,用于利用已验证客户端预留的联系号码和所述保存密码作为AES加密 私钥信息,对所述私钥进行加密; 存储模块,用于生成智能合约,并将所述经过加密的私钥保存至所述智能合约。 在本发明第二方面的第一种可能的实现方式中,所述的基于区块链的私钥存储装 置,还包括: 查询模块,用于接收到客户端输入的联系号码后,调用对应所述联系号码的智能 合约; 提取模块,用于接收客户端输入的保存密码;若所述保存密码和客户端输入的联 系号码,与所述智能合约存储的保存密码和联系号码一致,则提取所述智能合约存储的经 过加密的私钥; 解密模块,用于利用所述智能合约存储的保存密码和联系号码作为AES加密私钥 信息,对所述经过加密的私钥进行解密,得到私钥。 在本发明第二方面的第二种可能的实现方式中,所述的基于区块链的私钥存储装 置,还包括: 输入模块,用于获取客户端输入的手机号码; 验证码生成模块,用于随机生成短信验证码并保存至所述智能合约; 发送模块,用于对应所述手机号码发送所述短信验证码; 验证模块,用于接收客户端反馈的短信验证码,若客户端反馈的短信验证码与所 述智能合约保存的验证码一致,则成功验证。 第三方面,本发明实施例提供了一种基于区块链的私钥存储装置,包括处理器、存 储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执 行所述计算机程序时实现如上所述的基于区块链的私钥存储方法。 第四方面,本发明实施例提供了一种基于区块链的私钥存储方法的存储介质,所 述基于区块链的私钥存储方法的存储介质用于存储一个或多个计算机程序,所述一个或多 个计算机程序包括程序代码,当所述计算机程序在计算机上运行时,所述程序代码用于执 行上述基于区块链的私钥存储方法。 相比于现有技术,本发明实施例具有如下有益效果: 本发明提供一种基于区块链的私钥存储方法、装置及存储介质,根据用户设置的 保存密码和预留联系号码,对将要保存到智能合约的私钥进行加密,使得非用户无法获知 5 CN 111600701 A 说 明 书 3/8 页 私钥内容,即使服务系统管理员也无法获取到私钥及密码信息,有效地提高保密性;同时, 将经过加密的私钥保存至智能合约,利用区块链技术的分布式存储数据的特性,避免私钥 数据集中存储在一个系统服务器,从而降低因系统服务器故障造成私钥数据丢失的风险, 而且私钥使用智能合约的方式存在区块链上,合约的数据的访问必须符合合约要求才可以 访问,智能合约只要在区块链中创建成功就难以被篡改,数据的保护能力极强。 附图说明 图1是本发明实施例中的一种基于区块链的私钥存储方法的步骤流程图; 图2是本发明实施例中的一种基于区块链的私钥存储方法的使用智能合约保存私 钥数据的示意图; 图3是本发明实施例中的一种基于区块链的私钥存储方法的使用智能合约保存短 信验证码数据的示意图; 图4是本发明实施例中的一种基于区块链的私钥存储装置的模块架构图; 图5是本发明实施例中的一种基于区块链的私钥存储装置的系统架构图。