System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于AES加密的word文件传输的方法技术_技高网

一种基于AES加密的word文件传输的方法技术

技术编号:41838440 阅读:7 留言:0更新日期:2024-06-27 18:20
本发明专利技术公开了一种基于AES加密的word文件传输的方法,包括:从本地上传需要识别和匹配特定结果的Office word文档;将Office word文档内容转换为二进制,根据二进制文件进行第一次AES加密处理,发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥,使用该密钥对明文进行加密后发送给接收方,接收方使用HMAC‑SHA1算法进行密文的二次加密,生成一个哈希值;接收方使用AES相同的密钥进行解密;使用HMAC‑SHA1进行二次解密并验证消息的完整性和身份;根据制定或者动态配置的校对规则进行内容匹配,获取内容结果,输出为指定的文本格式;本发明专利技术通过对数据进行识别、读取、转换二进制流等操作可节约存储空间、读写速度快、有一定的加密保护作用。

【技术实现步骤摘要】

本专利技术涉及一种对微软office word文档内容的识别方法,具体涉及一种基于aes加密的word文件传输的方法。


技术介绍

1、数据安全在现代信息社会中变得越来越重要,为了保障敏感数据不被未授权访问和篡改,加密技术成为了必不可少的工具,来保证数据安全的方式,已被广泛应用于各种领域。同时在确保数据安全的前提下,文件快速、高效率传输也是缺一不可。

2、aes加密技术是目前主流加密技术之一,它是一种分组加密算法,即把明文按固定成长度进行分组,分多次对各组数据加密,直到整条明文数据加密完成。aes算法根据分组长度可以分为aes128、aes192、aes256,其所要求的密钥长度和加密轮数也各不相同。根据密钥长度,密钥被扩展为多个轮密钥并于分组中的数据块进行混合。aes算法使用若干个轮函数对数据进行处理,每一个轮函数由字节代换、行移位、列混淆和轮密钥加。轮数有128位密钥长度的aes算法运行10轮,有192位密钥长度的aes算法运行12轮,有256位密钥长度的aes算法运行14轮。经过多轮的处理,最后一次处理会产生加密后的数据。

3、综上所述,aes加密技术是一种安全性高的加密算法,可以在硬件上实现高速加密,但是在密钥长度上存在劣势,其算法复杂度高、密钥管理困难、密文长度固定、可重放攻击等问题可能会对某些应用场景造成限制。


技术实现思路

1、为了解决保护用户的数据信息安全,提高数据在网络中传输的安全性、快速性与完整性。本专利技术的目的是提供一种基于aes加密的word文件传输的方法,该方法利用对office word文档的相关访问操作功能,来获取内容信息,进一步按照特定需要进行识别匹配获取特定内容;通过对数据进行识别、读取、转换二进制流等操作可节约存储空间、读写速度快、有一定的加密保护作用。

2、为实现上述目的,本专利技术的技术方案是:

3、一种基于aes加密的word文件传输的方法,包括如下步骤:

4、s1:从本地上传需要识别和处理获取特定结果的office word文档,原officeword文档中包含一个特定的表格内容,表格结构中第一列是需要匹配的内容,匹配后对应这一行最后一列的数量是我们要获取的特定内容。

5、s2:对于在读取文件时,对读取的二进制文件进行解包,拆包的本质是规定了按多少位读取一个数据,按8位读取一个数据,则为:0x0,0x61。按16为读取一个数据,则为:0x61。依次遍历文档内容的函数,判断传入是否为word文档对象,是则获取文档内容的全部子对象。递归遍历全部子对象,最终递归结束,停止遍历,返回对象数据。最终将officeword文档内容转换为二进制。二进制流,可以将其转换为int类型的数据,也可以将其转换为json、二维数组、多维数组等不同类型的格式进行加载。根据二进制文件进行第一次aes加密处理,发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥,使用该密钥对明文进行加密后发送给接收方,接收方进行密文的二次加密使用hmac-sha1,首先自定义了一个函数hmac_sha_chang,用于对消息进行hmac-sha1加密和认证。该函数接受两个参数:密钥(key)和消息(message)。首先,我们将密钥和消息转换为字节型,并使用hmac.new创建一个hmac-sha1密钥对象。其次用hmac_object.update方法更新hmac-sha1密钥对象的消息。最后,我们使用hmac_object.hexdigest获取加密后的结果,并将其返回。

6、s3:接收方可以使用aes相同的密钥进行解密;

7、s4:使用hmac-sha1进行二次解密并验证消息的完整性和身份,将有助于我们提高数据的安全性和可靠性。使用自定义cmrc_hmac_dis.gretinfo类方法获取office word文档对象,获取对象数据,利用函数进行二进制转换;

8、s5:根据提供的匹配内容或用户在python语言中动态配置规则的方式获取对应的匹配内容进行查找,得到对应内容所在位置,根据实际用户需求(这里是获取对应行数据最后一列的数值),匹配规则可以利用sap abap提供的类cl_abap_matcher创建符合条件的正则表达式对内容进行匹配,最后获取特定的内容结果。

9、优选地,步骤s3中接收方使用aes相同的密钥进行解密;使用hmac-sha1进行二次解密并验证消息的完整性和身份,提高数据的安全性和可靠性;类获取的office word文档对象,获取对象数据,利用函数进行二进制转换。

10、s2中使用二进制流模式打开文件,文件打开需要使用”rb”作为打开模式,其中”r”代表读取模式,而”b”代表二进制模式。

11、接下来,对二进制数据进行解析和处理,如特定的数据结构。

12、最后以二进制的形式写入数据到文件中,在写入数据的同时,需要以”wb”模式打开文件,并以二进制形式写入数据。如:data=b’\x00\x01\x02\x03\’,with open=(‘test.bin’,’wb’)as f;

13、本专利技术的工作原理为:aes是一种高级对称加密算法,同时也属于分组加密算法,即拥有一个相同的密钥,发送消息和接收消息均使用该密钥,使用该密钥对明文进行加密后发送给接收方,从而有效提高数据在网络中传输的安全性与完整性。

14、本专利技术的有益效果为:

15、解决低效率解析word文档内容以及数据安全传输的问题。通过对数据进行识别、读取、转换二进制流、加密等操作可节约存储空间、读写速度快、有一定的加密保护作用。

本文档来自技高网...

【技术保护点】

1.一种基于AES加密的word文件传输的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于AES加密的word文件传输的方法,其特征在于,步骤S1中从本地上传需要识别和处理获取特定结果的Office word文档,原Office word文档中包含一个特定的表格内容,表格结构中第一列是需要匹配的内容,匹配后对应这一行最后一列的数量是要获取的特定内容。

3.根据权利要求1所述的一种基于AES加密的word文件传输的方法,其特征在于,步骤S2中对于在读取文件时,对读取的二进制文件进行解包,拆包的本质是规定了按多少位读取一个数据,按8位读取一个数据,则为:0X0,0X61;按16为读取一个数据,则为:0X61;依次遍历文档内容的函数,判断传入是否为word文档对象,是则获取文档内容的全部子对象;递归遍历全部子对象,最终递归结束,停止遍历,返回对象数据;最终将Office word文档内容转换为二进制;二进制流,将其转换为int类型的数据,或将其转换为JSON、二维数组、多维数组不同类型的格式进行加载;根据二进制文件进行第一次AES加密处理,发送方和接收方持有同一把密钥,发送消息和接收消息均使用该密钥,使用该密钥对明文进行加密后发送给接收方,接收方进行密文的二次加密使用HMAC-SHA1,首先自定义了一个函数hmac_sha_chang,用于对消息进行HMAC-SHA1加密和认证;该函数接受两个参数:密钥和消息;首先,将密钥和消息转换为字节型,并使用hmac.new创建一个HMAC-SHA1密钥对象;其次用hmac_object.update方法更新HMAC-SHA1密钥对象的消息;最后,使用hmac_object.hexdigest获取加密后的结果,并将其返回。

4.根据权利要求1所述的一种基于AES加密的word文件传输的方法,其特征在于,步骤S3中接收方使用AES相同的密钥进行解密;使用HMAC-SHA1进行二次解密并验证消息的完整性和身份,提高数据的安全性和可靠性;类获取的Office word文档对象,获取对象数据,利用函数进行二进制转换。

5.根据权利要求1所述的一种基于AES加密的word文件传输的方法,其特征在于,步骤S5中根据提供的匹配内容或用户在python语言中动态配置规则的方式获取对应的匹配内容进行查找,得到对应内容所在位置,根据实际用户需求,匹配规则利用SAP ABAP提供的类cl_abap_matcher创建符合条件的正则表达式对内容进行匹配,最后获取特定的内容结果。

...

【技术特征摘要】

1.一种基于aes加密的word文件传输的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于aes加密的word文件传输的方法,其特征在于,步骤s1中从本地上传需要识别和处理获取特定结果的office word文档,原office word文档中包含一个特定的表格内容,表格结构中第一列是需要匹配的内容,匹配后对应这一行最后一列的数量是要获取的特定内容。

3.根据权利要求1所述的一种基于aes加密的word文件传输的方法,其特征在于,步骤s2中对于在读取文件时,对读取的二进制文件进行解包,拆包的本质是规定了按多少位读取一个数据,按8位读取一个数据,则为:0x0,0x61;按16为读取一个数据,则为:0x61;依次遍历文档内容的函数,判断传入是否为word文档对象,是则获取文档内容的全部子对象;递归遍历全部子对象,最终递归结束,停止遍历,返回对象数据;最终将office word文档内容转换为二进制;二进制流,将其转换为int类型的数据,或将其转换为json、二维数组、多维数组不同类型的格式进行加载;根据二进制文件进行第一次aes加密处理,发送方和接收方持有同一把密钥,发送消息和接收消息均使用该密钥,使用该密钥对明文进行加密后发送给接收方,接收...

【专利技术属性】
技术研发人员:林勇陈盈达王思涵
申请(专利权)人:江苏电力信息技术有限公司
类型:发明
国别省市:

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

1