一种面向区块链的X11动态哈希方法及装置制造方法及图纸

技术编号:20160682 阅读:29 留言:0更新日期:2019-01-19 00:13
本发明专利技术涉及数据处理技术领域,公开了一种面向区块链的X11动态哈希方法及装置,该方法包括:对11种算法进行初始化定义键值;获取任务信息,所述任务信息包括:区块高度、输入值和随机数;对所述区块高度进行求模处理,获得序号值,将所述序号值对应的算法作为首个哈希算法;根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;重复上述步骤,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序;通过区块高度和随机数进行哈希序列的排布与加密,使得哈希序列是动态的,不可预知的,具有很高的灵活性,减少了加密的人为干预,更加依赖于系统层面的自我识别,提高了哈希运算的安全性。

【技术实现步骤摘要】
一种面向区块链的X11动态哈希方法及装置
本专利技术涉及数据处理
,尤其涉及一种面向区块链的X11动态哈希方法及装置。
技术介绍
X11算法是基于11种算法(blake,bmw,groestl,jh,keccak,skein,luffa,cubehash,shavite,simd,echo)的哈希运算,hash效率较高,目前常用方法是将11种算法按照一定顺序排列,后续运算均按此顺序进行计算,导致整个哈希计算过程中11个算法的序列是固定的,并不灵活,外界通过数据抓取等手段容易得知其11个算法的序列,则很容易知道其加密序列方式,从而知道其算法规则,很容易被人利用其漏洞进行破解。
技术实现思路
本专利技术的主要目的在于提出一种面向区块链的X11动态哈希方法及装置,通过区块高度和随机数进行哈希序列的排布与加密,使得哈希序列是动态的,不可预知的,具有很高的灵活性,减少了加密的人为干预,更加依赖于系统层面的自我识别,提高了哈希运算的安全性。为实现上述目的,本专利技术提供的一种面向区块链的X11动态哈希方法,包括:S10、对11种算法进行初始化定义键值,得到所述11种算法的序号;S20、获取任务信息,所述任务信息包括:区块高度、输入值和随机数;S30、对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;S40、根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;S50、重复步骤S40,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序。可选地,所述11种算法的序号依次为:0、1、……、10。可选地,所述步骤S30具体为:对所述区块高度进行求模11运算,得到一个小于11的值,即为区块高度值;将所述区块高度值作为序号,查找所述序号对应的算法作为首个哈希算法。可选地,所述步骤S40包括:根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值;选取所述哈希值的结尾四个字节字符进行整型转换,对所得整型值进行求模11运算,得到一个小于11的值;将所述小于11的值作为序号,查找所述序号对应的算法作为第二个哈希算法。可选地,所述任务信息还包括:目标值和预设计算次数;相应地,所述步骤S50之后还包括:S60、将11次哈希运算后得到的哈希值与所述目标值进行比较,若哈希值小于等于所述目标值则返回结果,否则,改变所述随机值,重新进行11次哈希运算,并记录计算次数;当所述计算次数大于所述预设计算次数时,放弃哈希运算。作为本专利技术的另一方面,提供的一种面向区块链的X11动态哈希装置,包括:初始化模块,用于对11种算法进行初始化定义键值,得到所述11种算法的序号;获取模块,用于获取任务信息,所述任务信息包括:区块高度、输入值和随机数;求模模块,用于对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;哈希模块,用于根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;循环模块,用于重复运行哈希模块,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序。可选地,所述11种算法的序号依次为:0、1、……、10。可选地,所述求模模块具体为:对所述区块高度进行求模11运算,得到一个小于11的值,即为区块高度值;将所述区块高度值作为序号,查找所述序号对应的算法作为首个哈希算法。可选地,所述哈希模块包括:根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值;选取所述哈希值的结尾四个字节字符进行整型转换,对所得整型值进行求模11运算,得到一个小于11的值;将所述小于11的值作为序号,查找所述序号对应的算法作为第二个哈希算法。可选地,所述任务信息还包括:目标值和预设计算次数;相应地,所述装置还包括:比较模块,用于将11次哈希运算后得到的哈希值与所述目标值进行比较,若哈希值小于等于所述目标值则返回结果,否则,改变所述随机值,重新进行11次哈希运算,并记录计算次数;当所述计算次数大于所述预设计算次数时,放弃哈希运算。本专利技术提出的一种面向区块链的X11动态哈希方法及装置,该方法包括:对11种算法进行初始化定义键值,得到所述11种算法的序号;获取任务信息,所述任务信息包括:区块高度、输入值和随机数;对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;重复上述步骤,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序;通过区块高度和随机数进行哈希序列的排布与加密,使得哈希序列是动态的,不可预知的,具有很高的灵活性,减少了加密的人为干预,更加依赖于系统层面的自我识别,提高了哈希运算的安全性。附图说明图1为本专利技术实施例一提供的一种面向区块链的X11动态哈希方法的流程图;图2为本专利技术实施例一提供的一种区块高度求模示意图;图3为图1中步骤S40的方法流程图;图4为本专利技术实施例一提供的另一种面向区块链的X11动态哈希方法的流程图;图5为本专利技术实施例二提供的一种面向区块链的X11动态哈希装置的示范性结构框图;图6为为本专利技术实施例二提供的另一种面向区块链的X11动态哈希装置的示范性结构框图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一如图1所示,在本实施例中,一种面向区块链的X11动态哈希方法,包括:S10、对11种算法进行初始化定义键值,得到所述11种算法的序号;S20、获取任务信息,所述任务信息包括:区块高度、输入值和随机数;S30、对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;S40、根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;S50、重复步骤S40,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序。在本实施例中,通过区块高度和随机数进行哈希序列的排布与加密,使得哈希序列是动态的,不可预知的,具有很高的灵活性,减少了加密的人为干预,更加依赖于系统层面的自我识别,提高了哈希运算的安全性。在本实施例中,所述11种算法的序号依次为:0、1、……、10。在本实施例中,所述任务信息由矿机从上层服务器客户端获取任务信息,包括区块高度(ID)、输入值(Input)、随机数(Nonce)、目标值(Target)和计算次数(Count)等。在本实施例中,所述步骤S30具体为:对所述区块高度进行求模11运算,得到一个小于11的值,即为区块高度值;将所述区块高度值作为序号,查找所述序号对应的算法作为首个哈希算法。如图2所示,为一种区块高度求模示意图,在图2中,区块高度(ID)是按顺序编号的,实际应用中很多业务ID是随机的。图2中,选区块高度为223456,求模11得:223456%11=2,则选取序号为2的算法为首个哈希算法,后续10次的哈希算法由上一次的哈希值结尾字符确定,据此得到哈希序列为图2所示的“2、5本文档来自技高网...

【技术保护点】
1.一种面向区块链的X11动态哈希方法,其特征在于,包括:S10、对11种算法进行初始化定义键值,得到所述11种算法的序号;S20、获取任务信息,所述任务信息包括:区块高度、输入值和随机数;S30、对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;S40、根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;S50、重复步骤S40,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序。

【技术特征摘要】
1.一种面向区块链的X11动态哈希方法,其特征在于,包括:S10、对11种算法进行初始化定义键值,得到所述11种算法的序号;S20、获取任务信息,所述任务信息包括:区块高度、输入值和随机数;S30、对所述区块高度进行求模处理,获得区块高度值,将所述区块高度值为序号的算法作为首个哈希算法;S40、根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值,根据所述哈希值确定第二个哈希算法;S50、重复步骤S40,依次计算出第三至第十一个哈希算法的序号,得到所述11种算法的顺序。2.根据权利要求1所述的一种面向区块链的X11动态哈希方法,其特征在于,所述11种算法的序号依次为:0、1、……、10。3.根据权利要求2所述的一种面向区块链的X11动态哈希方法,其特征在于,所述步骤S30具体为:对所述区块高度进行求模11运算,得到一个小于11的值,即为区块高度值;将所述区块高度值作为序号,查找所述序号对应的算法作为首个哈希算法。4.根据权利要求3所述的一种面向区块链的X11动态哈希方法,其特征在于,所述步骤S40包括:根据所述首个哈希算法对所述输入值和随机数进行哈希运算,得到哈希值;选取所述哈希值的结尾四个字节字符进行整型转换,对所得整型值进行求模11运算,得到一个小于11的值;将所述小于11的值作为序号,查找所述序号对应的算法作为第二个哈希算法。5.根据权利要求1所述的一种面向区块链的X11动态哈希方法,其特征在于,所述任务信息还包括:目标值和预设计算次数;相应地,所述步骤S50之后还包括:S60、将11次哈希运算后得到的哈希值与所述目标值进行比较,若哈希值小于等于所述目标值则返回结果,否则,改变所述随机值,重新进行11次哈希运算,并记录计算次数;当所述计算次数大于所述预设计算次数时,放弃哈希运算。6.一种面向区...

【专利技术属性】
技术研发人员:魏松杰蔡青川刘才刘昊哲
申请(专利权)人:思力科深圳电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1