System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,尤其涉及一种基于区块链的通信方法、设备及介质。
技术介绍
1、传统的电子邮件系统是由用户代理、邮件传输代理、邮件投递代理组成。当邮件从用户代理中发送一份邮件时,该邮件会发送到邮件传输代理,然后在一系列的邮件传输代理中转发,直到它到达最终发送目标为止。
2、传统的电子邮件系统在发送邮件时,仅是简单根据用户名和密码进行身份验证,而邮件从发送端到接受端传送需要经过多个邮件传输代理,因此恶意行为者可以利用邮件服务中的漏洞获取邮箱中的敏感信息。因此可能导致在传输过程中被拦截,从而使邮件被任意的阅读,导致邮件中的重要信息被窃取,邮件安全性较低。
技术实现思路
1、本申请实施例提供了一种基于区块链的安全通信方法、设备及介质,用于解决如下技术问题:现有的邮件传输方式可能导致邮件在传输过程中被拦截,从而使邮件被任意的阅读,导致邮件中的重要信息被窃取,邮件安全性较低。
2、本申请实施例采用下述技术方案:
3、本申请实施例提供一种基于区块链的通信方法。包括,获取第一用户在区块链部署的邮箱合约,并记录合约地址;获取第二用户对应的待发送消息,基于第一用户的公钥对待发送消息进行加密,得到加密后的消息,并将加密后的消息发送至第一用户对应的邮箱合约中;基于第一用户对应的预置合约监听事件,将监听到的加密后的消息存储至预置数据库中;获取第一用户发送的合约事件请求,将预置数据库中的加密后的消息发送至第一用户;通过第一用户对应的私钥对加密后的消息进行解密,得到消息明文
4、本申请实施例通过在区块链中部署邮箱合约,并记录合约地址,确保每个用户拥有专属的智能合约作为收件箱。其次,本申请实施例通过对待发送消息进行加密,即,发件人使用收件人的公钥对消息进行加密,并发送至收件人的收件合约,收件人使用私钥对消息进行解密,确保通信内容只有授权的收件人能够解读,从容确保邮件内容的安全性。
5、在本申请的一种实现方式中,将加密后的消息发送至第一用户对应的邮箱合约中,具体包括:响应第二用户发送的send方法调用指令,生成邮件接收事件;其中,邮件接收事件中,包括第二用户对应的区块链地址与加密后的消息;基于邮件接收事件,将加密后的消息发送至第一用户对应的邮箱合约地址。
6、在本申请的一种实现方式中,获取第一用户发送的合约事件请求,将预置数据库中的加密后的消息发送至第一用户,具体包括:确定出合约事件请求中的请求范围;其中,请求范围至少包括合约事件的数量范围、合约事件的时间范围以及合约事件发送用户的范围中的一项;基于请求范围,在预置数据库中确定出一个或多个加密后的消息,并基于第一用户对应的服务器,将确定出的加密后的消息返回至第一用户。
7、在本申请的一种实现方式中,基于请求范围,在预置数据库中确定出一个或多个加密后的消息,具体包括:在请求范围为合约事件的数量范围的情况下,基于接收到的最新的合约事件作为第一件合约事件,按照时间先后顺序,依次确定出符合数量范围的多个合约事件,以构建第一合约事件集合;在请求范围为合约事件的时间范围的情况下,在预置数据库中确定出在时间范围内接收的合约事件,并基于确定出的合约事件,构建第二合约事件集合;在请求范围为合约事件发送用户的范围的情况下,确定出合约事件请求中的参考用户区块链地址,在预置数据中确定出参考用户区块链地址对应的合约事件,并基于确定出的合约事件,构建第三合约事件集合。
8、在本申请的一种实现方式中,基于第一用户的公钥对待发送消息进行加密,得到加密后的消息之后,方法还包括:根据第一用户对应的区块链地址,生成加密后的消息对应的消息标识;将消息标识、第二用户对应的区块链地址、第一用户对应的区块链地址和加密后的消息关联存储至合约消息队列中;通过预置消息合约,将消息标识添加至第一用户对应的消息接收队列;在检测到第一用户对应的消息接收队列中新增消息标识时,向第一用户发送通知消息。
9、在本申请的一种实现方式中,基于第一用户对应的预置合约监听事件,将监听到的加密后的消息存储至预置数据库中,具体包括:基于第一用户对应的预置合约监听事件,确定出接收到的邮件接收事件中第二用户对应的区块链地址;将第二用户对应的区块链地址与预置黑白名单进行比对;在第二用户对应的区块链地址属于预置白名单,或者不在预置黑白名单中的情况下,将监听到的加密后的消息存储至预置数据库中。
10、在本申请的一种实现方式中,获取第一用户在区块链部署的邮箱合约,并记录合约地址,具体包括:响应第一用户在区块链部署邮箱合约的命令,并在邮箱合约部署完成后,向第一用户返回邮箱合约地址;基于预置通信方式,将第一用户部署的邮箱合约地址发送至第二用户。
11、在本申请的一种实现方式中,基于第一用户对应的预置合约监听事件,将监听到的加密后的消息存储至预置数据库中,具体包括:将监听到的合约事件中第二用户对应的区块链地址与第一用户对应的区块链地址进行比对;在第二用户对应的区块链地址与第一用户对应的区块链地址一致的情况下,将加密后的消息存储至第二用户对应的区块链网络,并写入第一用户对应的本地数据库;在第二用户对应的区块链地址与第一用户对应的区块链地址不一致的情况下,将加密后的消息存储至第一用户对应的区块链网络,并写入第一用户对应的本地数据库。
12、本申请实施例提供一种基于区块链的通信设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:获取第一用户在区块链部署的邮箱合约,并记录合约地址;获取第二用户对应的待发送消息,基于第一用户的公钥对待发送消息进行加密,得到加密后的消息,并将加密后的消息发送至第一用户对应的邮箱合约中;基于第一用户对应的预置合约监听事件,将监听到的加密后的消息存储至预置数据库中;获取第一用户发送的合约事件请求,将预置数据库中的加密后的消息发送至第一用户;通过第一用户对应的私钥对加密后的消息进行解密,得到消息明文,以完成区块链通信。
13、本申请实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:获取第一用户在区块链部署的邮箱合约,并记录合约地址;获取第二用户对应的待发送消息,基于第一用户的公钥对待发送消息进行加密,得到加密后的消息,并将加密后的消息发送至第一用户对应的邮箱合约中;基于第一用户对应的预置合约监听事件,将监听到的加密后的消息存储至预置数据库中;获取第一用户发送的合约事件请求,将预置数据库中的加密后的消息发送至第一用户;通过第一用户对应的私钥对加密后的消息进行解密,得到消息明文,以完成区块链通信。
14、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过在区块链中部署邮箱合约,并记录合约地址,确保每个用户拥有专属的智能合约作为收件箱。其次,本申请实施例通过对待发送消息进行加密,即,发件人使用收件人的公钥对消息进行本文档来自技高网...
【技术保护点】
1.一种基于区块链的通信方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述将所述加密后的消息发送至所述第一用户对应的邮箱合约中,具体包括:
3.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述获取所述第一用户发送的合约事件请求,将所述预置数据库中的所述加密后的消息发送至所述第一用户,具体包括:
4.根据权利要求3所述的一种基于区块链的通信方法,其特征在于,所述基于所述请求范围,在所述预置数据库中确定出一个或多个所述加密后的消息,具体包括:
5.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述基于所述第一用户的公钥对所述待发送消息进行加密,得到加密后的消息之后,所述方法还包括:
6.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述基于所述第一用户对应的预置合约监听事件,将监听到的所述加密后的消息存储至预置数据库中,具体包括:
7.据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述获取第一用户在区块链部署的邮箱合
8.据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述基于所述第一用户对应的预置合约监听事件,将监听到的所述加密后的消息存储至预置数据库中,具体包括:
9.一种基于区块链的通信设备,其特征在于,所述设备包括:
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
...【技术特征摘要】
1.一种基于区块链的通信方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述将所述加密后的消息发送至所述第一用户对应的邮箱合约中,具体包括:
3.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述获取所述第一用户发送的合约事件请求,将所述预置数据库中的所述加密后的消息发送至所述第一用户,具体包括:
4.根据权利要求3所述的一种基于区块链的通信方法,其特征在于,所述基于所述请求范围,在所述预置数据库中确定出一个或多个所述加密后的消息,具体包括:
5.根据权利要求1所述的一种基于区块链的通信方法,其特征在于,所述基于所述第一用户的公钥对所述待发送消息进行加密,得到加密后的消息之后...
【专利技术属性】
技术研发人员:刘亚雄,肖雪,商广勇,
申请(专利权)人:浪潮山东质量链科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。