The invention provides a data encryption and sharing method based on the smart contract, which includes: obtaining the identity information of data m and the first user; data M is the data after encrypting data m; verifying data m; matching the target preset white list user from the blockchain when the verification passes; allowing the target preset white list user to read data m; and the first user In the case that the identity information of the target preset whitelist user matches, the data M is decrypted into data m; through the above scheme, the original data (i.e. data m) and the encrypted data (i.e. data m) are not stored on the blockchain, and the original data and the encrypted data flow down the chain. In the case of large amount of data, the reading and writing performance of the data is improved, and the reading and writing efficiency of the data is improved; and Data M is encrypted. Users who are not in the target preset white list cannot decrypt data m, which ensures the security of data.
【技术实现步骤摘要】
一种基于智能合约的数据加密分享方法
本专利技术涉及数据处理
,具体地说,涉及一种基于智能合约的数据加密分享方法。
技术介绍
目前,对于数据量大的情况,若数据存在区块链上,数据的读写性能、读写效率会很差。
技术实现思路
本专利技术的目的在于提出一种基于智能合约的数据加密分享方法,旨在解决现有技术中,对于数据量大的情况,若数据存在区块链上,数据的读写性能、读写效率会很差的问题。为解决上述技术问题,本专利技术提供一种基于智能合约的数据加密分享方法,包括:获取数据m和第一用户的身份信息;所述数据m为对数据M进行加密后的数据;对所述数据m进行验证处理;在验证通过的情况下,从区块链匹配出目标预设白名单用户;所述目标预设白名单用户允许读取所述数据M;在所述第一用户的身份信息符合所述目标预设白名单用户的情况下,将所述数据m解密成所述数据M。可选地,所述对所述数据m进行验证处理包括:根据预设摘要算法计算出所述数据m的摘要数据d’,并根据所述第一用户的公钥从数据D解密出摘要数据d,并判断所述摘要数据d’是否等于所述摘要数据d,若是,则验证通过;所述数据D为将所述数据m按照所述预设摘要算法计算出所述摘要数据d,并用所述第一用户的私钥加密所述摘要数据d为所述数据D。可选地,在所述获取数据m和第一用户身份信息之前,还包括:获取所述数据M、签名数据H和第二用户的身份信息;所述签名数据H为根据所述预设摘要算法计算出所述数据M的摘要数据h,并根据所述第 ...
【技术保护点】
1.一种基于智能合约的数据加密分享方法,其特征在于,包括:/n获取数据m和第一用户的身份信息;所述数据m为对数据M进行加密后的数据;/n对所述数据m进行验证处理;/n在验证通过的情况下,从区块链匹配出目标预设白名单用户;所述目标预设白名单用户允许读取所述数据M;/n在所述第一用户的身份信息符合所述目标预设白名单用户的情况下,将所述数据m解密成所述数据M。/n
【技术特征摘要】
1.一种基于智能合约的数据加密分享方法,其特征在于,包括:
获取数据m和第一用户的身份信息;所述数据m为对数据M进行加密后的数据;
对所述数据m进行验证处理;
在验证通过的情况下,从区块链匹配出目标预设白名单用户;所述目标预设白名单用户允许读取所述数据M;
在所述第一用户的身份信息符合所述目标预设白名单用户的情况下,将所述数据m解密成所述数据M。
2.根据权利要求1所述的基于智能合约的数据加密分享方法,其特征在于,所述对所述数据m进行验证处理包括:根据预设摘要算法计算出所述数据m的摘要数据d’,并根据所述第一用户的公钥从数据D解密出摘要数据d,并判断所述摘要数据d’是否等于所述摘要数据d,若是,则验证通过;
所述数据D为将所述数据m按照所述预设摘要算法计算出所述摘要数据d,并用所述第一用户的私钥加密所述摘要数据d为所述数据D。
3.根据权利要求2所述的基于智能合约的数据加密分享方法,其特征在于,在所述获取数据m和第一用户身份信息之前,还包括:
获取所述数据M、签名数据H和第二用户的身份信息;所述签名数据H为根据所述预设摘要算法计算出所述数据M的摘要数据h,并根据所述第二用户的私钥将所述摘要数据h加密成所述签名数据H;
根据所述第二用户的公钥将所述签名数据H解密成数据h’;
根据所述预设摘要算法计算出所述数据M的所述摘要数据h;
并判断所述数据h’是否等于所述摘要数据h,若是,则验证通过;
在验证通过的情况下,将所述数据M加密成所述数据m,并通过所述预设摘要算法计算出所述数据m的所述摘要数据d,并将所述摘要数据d和预设白名单用户建立对应关系存储在所述区块链中,并将所述数据m返回给所述第二用户以供所述第二用户进行分享;
所述从区块链匹配出目标预设白名单用户包括:根据所述数据D解密出的所述摘要数据d,与所述区块链上的所述对应关系进行匹配,将匹配到的预设白名单用户作为所述目标预设白名单用户。
4.根据权利要求2所述的基于智能合约的数据加密分享方法,其特征...
【专利技术属性】
技术研发人员:李剑峰,李顺德,陈浩毅,
申请(专利权)人:重庆华医康道科技有限公司,
类型:发明
国别省市:重庆;50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。