CN110830261A - 加密方法、装置、计算机设备及存储介质 - Google Patents

加密方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110830261A
CN110830261A CN201910969977.7A CN201910969977A CN110830261A CN 110830261 A CN110830261 A CN 110830261A CN 201910969977 A CN201910969977 A CN 201910969977A CN 110830261 A CN110830261 A CN 110830261A
Authority
CN
China
Prior art keywords
signature
file
preset
online file
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910969977.7A
Other languages
English (en)
Other versions
CN110830261B (zh
Inventor
林晓然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910969977.7A priority Critical patent/CN110830261B/zh
Publication of CN110830261A publication Critical patent/CN110830261A/zh
Application granted granted Critical
Publication of CN110830261B publication Critical patent/CN110830261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种加密方法、装置、计算机设备及存储介质,包括下述步骤:获取待加密的在线文件;采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。通过采用预设加密算法对在线文件进行加密运算,并从得到的多个签名中提取预设个数的字符进行混合,以及将混合后的目标在线文件进行进一步加密,如此,由于混合签名算法逻辑时自定义的,攻击者很难得到混合签名的生成逻辑,因此,攻击者篡改文件后不可能生成合法的签名,从而达到防篡改的目的,提高了加密的安全性。

Description

加密方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及加密领域,尤其是一种加密方法、装置、计算机设备及存储介质。
背景技术
随着互联网技术的发展以及个人计算机处理能力的增强,网页浏览器中承载的应用越来越丰富,种类越来越多。为了确保数据传输的安全性,经常会采取一系列的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议。
对于在线文件加密,业内大多数采用两种方法,一种是AES对称加密算法,该方法加密过程简单。但是,需要将加密秘钥直接明文写在Android客户端的java代码中,逆向破解时很容易反编译客户端代码从而获得秘钥,安全性低。另外一种是对在线文件进行签名,签名一般采用MD5算法,但是,目前业界MD5破解已经不算难题,而且单一的MD5算法也会存在碰撞的概率,所以攻击者可以很快的找到MD5的“碰撞”,就是两个文件可以产生相同的“指纹”,采用MD5算法安全性低,经常被篡改文件内容却不能发现。
发明内容
本发明实施例提供一种加密方法、装置、计算机设备及存储介质。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种加密方法,包括下述步骤:
获取待加密的在线文件;
采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;
从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。
可选地,所述采用预设的签名算法对所述在线文件进行加密运算,得到多个签名,包括:
确定每个所述在线文件的类型;
按照所述类型分别选取与每个所述在线文件的类型具有映射关系的目标散列算法;
采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值。
可选地,所述确定每个所述在线文件的类型包括:
判断所述在线文件中是否包含附件或链接文档;
当所述在线文件包含附件或链接文档时,确定所述在线文件为文件树,并对所述文件树打包为数据包;
当所述在线文件不包含附件或链接文档时,确定所述在线文件为单个文件。
可选地,与所述文件树具有映射关系的目标散列算法为第一签名算法,与所述单个文件具有映射关系的目标散列算法为第二签名,所述采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值,包括:
采用预设的第一签名算法对所述数据包进行加密运算,得到第一签名;
采用预设的第二签名算法对所述单个文件进行加密运算,得到第二签名。
可选地,所述从所述多个签名中提取预设位数的字符进行混合,包括:
获取预设的签名字符序列表,其中,所述签名字符序列表中多个按照顺序排列的属性字符且每个所述属性字符包含属性信息;
按照所述属性信息表示的字符属性从所述第一签名和所述第二签名中提取字符;
将提取的字符添加到所述字符序列表中,生成混合签名。
可选地,所述采用预设的加密方法对所述目标在线文件进行加密,包括:
采用预设的第一加密算法对所述目标在线文件进行加密得到第一密钥;
采用预设的第二加密算法对所述第一密钥进行加密,得到第二密钥;
将所述第二密钥保存到本地数据库中。
为解决上述技术问题,本发明实施例还提供一种加密装置,包括:
获取模块,用于获取待加密的在线文件;
处理模块,用于采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;
执行模块,用于从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。
可选地,所述处理模块包括:
第一处理子模块,用于确定每个所述在线文件的类型;
第二处理子模块,用于按照所述类型分别选取与每个所述在线文件的类型具有映射关系的目标散列算法;
第一执行子模块,用于采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值。
可选地,所述第一处理子模块包括:
第三处理子模块,用于判断所述在线文件中是否包含附件或链接文档;
第四处理子模块,用于当所述在线文件包含附件或链接文档时,确定所述在线文件为文件树,并对所述文件树打包为数据包;
第二执行子模块,用于当所述在线文件不包含附件或链接文档时,确定所述在线文件为单个文件。
可选地,与所述文件树具有映射关系的目标散列算法为第一签名算法,与所述单个文件具有映射关系的目标散列算法为第二签名,所述第一执行子模块包括:
第五处理子模块,用于采用预设的第一签名算法对所述数据包进行加密运算,得到第一签名;
第六处理子模块,用于采用预设的第二签名算法对所述单个文件进行加密运算,得到第二签名。
可选地,所述执行模块包括:
第一获取子模块,用于获取预设的签名字符序列表,其中,所述签名字符序列表中多个按照顺序排列的属性字符且每个所述属性字符包含属性信息;
第七处理子模块,用于按照所述属性信息表示的字符属性从所述第一签名和所述第二签名中提取字符;
第三执行子模块,用于将提取的字符添加到所述字符序列表中,生成混合签名。
可选地,所述执行模块包括:
第一执行子模块,用于采用预设的第一加密算法对所述目标在线文件进行加密得到第一密钥;
第二执行子模块,用于采用预设的第二加密算法对所述第一密钥进行加密,得到第二密钥;
第三执行子模块,用于将所述第二密钥保存到本地数据库中。
为解决上述技术问题,本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述加密方法的步骤。
为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述加密方法的步骤。
本发明实施例的有益效果是:通过采用预设加密算法对在线文件进行加密运算,并从得到的多个签名中提取预设个数的字符进行混合,以及将混合后的目标在线文件进行进一步加密,如此,由于混合签名算法逻辑时自定义的,攻击者很难得到混合签名的生成逻辑,因此,攻击者篡改文件后不可能生成合法的签名,从而达到防篡改的目的,提高了加密的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的加密方法的基本流程示意图;
图2为本发明实施例提供的一种按照在线文件的类型获取签名的方法的基本流程示意图;
图3为本发明实施例提供的一种确定每个在线文件的类型的方法的基本流程示意图;
图4为本发明实施例提供的一种采用选取的目标散列算法分别对每个在线文件进行计算求得目标散列算法的方法的基本流程示意图;
图5为本发明实施例提供的一种从多个签名中提取预设位数的字符进行混合的方法的基本流程示意图;
图6为本发明实施例提供的一种采用预设的加密方法对目标在线文件进行加密的方法的基本流程示意图;
图7为本发明实施例提供的加密装置基本结构框图;
图8为本发明实施例提供的计算机设备基本结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本实施方式中的客户终端即为上述的终端。
具体地,请参阅图1,图1为本实施例加密方法的基本流程示意图。
如图1所示,加密方法包括下述步骤:
S1100、获取待加密的在线文件;
在线文件为用户利用互联网技术浏览、编辑、下载的各种在线文件,例如阅读、编辑、下载互联网上的文字处理器应用程序、word文档、便携式的PDF文档、观看、下载的视频文件等等。
一般情况下,在获取待加密的在线文件时,可以通过互联网下载在线文件,也可以通过终端进行本地发送在线文件,还可以从服务器中直接下载。
S1200、采用预设的签名算法对在线文件进行加密运算,得到多个签名;
本实施例中,对在线文件进行签名时,通过散列算法对该在线文件进行计算得到散列值,通过多个签名算法对该散列值进行计算得到多个签名字符串。其中,预设的签名算法可以为SHA系列签名算法和MD系列签名算法,例如,SHA-256,MD5签名算法。举例说明,用户连接设备的会话结束以后,系统对在线文件LOG文件进行哈希运算,得到64个字符的哈希值,然后用MD5对哈希值进行计算,得到一串128位的hash,把它存储到数据库。
本实施例中,可以2个签名算法分别对在线文件进行签名运算,以获取到2个签名,还可以选用3个签名算法进行计算得到3个签名,签名算法的个数不作限定。
在实际应用中,散列函数具有冲突性,即针对不同的文件进行散列运算时可能会得到相同的散列值,因此,为了提高散列函数的冲突性,本实施例中,对在线文件的类型进行鉴别,按照鉴别的文件类型选取与该文件类型具有映射关系的目标散列算法以及利用目标散列算法得到目标散列值,采用多个预设的签名算法分别对该类型的在线文件进行签名运算,得到多个签名。
上述实施例中,在线文件的类型包括:单个文件和包含多个文件的文件树。通常,文件树为包含附件或者文件中存在一个或多个链接文档的文件。由于文件树的体量较大,且分散,因此,为了进一步提高散列算法的抗冲突性,本实施例中,将文件树打包为数据包,并对数据包进行散列运算得到散列值。
S1300、从多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对目标在线文件进行加密。
具体地,获取预存的签名字符序列表,其中,签名字符序列表中包括多个按照顺序排列的属性字符,每个属性字符均包含属性信息,属性信息用于表示该字符位需要填入的签名字符串的属性,按照属性字符表示的字符属性从多个签名字符串中提取对应的字符并填入到字符序列表中,生成混合签名。
需要说明的是,属性信息包括该字符位所要填入的签名字符串的识别码、签名字符串中字符的位数,例如,利用第一签名算法和第二签名算法对在现文件进行运算后得到32位的第一签名字符串和64位的第二签名字符串,签名字符序列表中的第一位属性字符的属性信息包括该字符位所需要添加的字符属于第一签名字符,第21位;签名字符序列表中的第二位属性字符的属性信息包括该字符位所需要添加的字符属于第二签名字符,第1位。
在一些实施方式中,签名字符序列表中的属性字符还包括用于混淆第一签名和第二签名字符的混淆字符。
在一些实施方式中,当生成混合签名后,再利用哈希算法对在线文件计算得到的哈希值、组合签名以及原始的在线文件进行打包捆绑,得到目标在线文件。例如,当得到24位字符的混合签名。假设该在线文件计算得到的哈希值为60位字符,则将60位哈希值与24位字符的混合签名以及原在线文件捆绑得到目标在线文件。
在一些实施方式中,还可以采用三种签名算法计算得到三个签名,并分别按照签名字符序列表中的字符属性的属性信息从三个签名中提取预设目标位的字符,例如均提取三个签名中前三位的字符,得到9位混合签名,并按照上述方法生成目标在线文件。
在实际应用中,为了进一步增强该签名的私密性,避免该在线文件被更改,还可以在在线文件中加入预设的混淆字节,其中,混淆字节可以按照自定义的方式插入到在线文件的字符(如二进制字符)中,例如,原在线文件的字符为XXXXXXX,预设的字节为A,可以将字节插入到签名的开头、结尾,或者每隔2个字符插入一个字节,即为AXXAXXAXXAXA。上述实施方式中,在线文件字符中被加入了混淆字节后,攻击者即便拿到秘钥对文件进行了解密,也难以猜测到签名混淆的逻辑,无法对该在线文件进行更改,从而达到安全加密的效果。
本实施例中,在对目标在线文件进行加密时,可以采用多种加密方法,例如,对称算法(Data Encryption Standard,DES),国际数据加密算法(International DataEncryption Algorithm,IDEA),数字签名算法(Digital Signature Algorithm,DSA),高级加密标准(Advanced Encryption Standard,AES),3DES(Triple DES)算法等等。
本实施例中,采用AES对称加密算法对所述目标在线文件进行加密得到第一密钥;采用RSA非对称加密算法对所述第一密钥进行加密,得到第二密钥;将第二密钥保存到本地数据库中。上述方式中,AES加密的秘钥被RSA算法加密,且RSA解密的秘钥保存在SO库中,攻击者逆向SO获取到RSA解密秘钥的难度大大增加,因此难以获取到文件解密的秘钥,无法对文件进行解密。
上述加密方法,通过采用预设加密算法对在线文件进行加密运算,并从得到的多个签名中提取预设个数的字符进行混合,以及将混合后的目标在线文件进行进一步加密,如此,由于混合签名算法逻辑时自定义的,攻击者很难得到混合签名的生成逻辑,因此,攻击者篡改文件后不可能生成合法的签名,从而达到防篡改的目的,提高了加密的安全性。
本发明实施例提供一种按照在线文件的类型获取签名的方法,如图2所示,图2为本发明实施例提供的一种按照在线文件的类型获取签名的方法的基本流程示意图。
具体地,如图2所示,步骤S1200包括下述步骤:
S1210、确定每个在线文件的类型;
在实际应用中,散列函数具有冲突性,即针对不同的文件进行散列运算时可能会得到相同的散列值,因此,为了提高散列函数的冲突性,本实施例中,对在线文件的类型进行鉴别,按照鉴别的文件类型选取散列算法。其中,在线文件的类型包括:仅有一个文件的单个文件和包含多个文件的文件树。本发明实施例提供一种确定每个在线文件的类型的方法,如图3所示,图3为本发明实施例提供的一种确定每个在线文件的类型的方法的基本流程示意图。
具体地,如图3所示,步骤S1210包括下述步骤:
S1211、判断在线文件中是否包含附件或链接文档;
S1212、当在线文件包含附件或链接文档时,确定在线文件为文件树,并对文件树打包为数据包;
S1213、当在线文件不包含附件或链接文档时,确定在线文件为单个文件。
本实施例中,可以通过查找文件内容或者目录的方式来判断是否具有附件或链接文档,例如,可以直接采用tree命令来进行操作,tree>list.txt的方式,如此可以生成koa-learn文件目录,判断目录中是否存在多级文档,当存在多级文档时,确定该在线文件为文件树。若不存在多级文档,则确定该在线文件为单个文件。
S1220、按照类型分别选取与每个在线文件的类型具有映射关系的目标散列算法;
需要说明的是,DSA算法安全性较高,其不能用作加密和解密,也不能进行密钥交换,只能用于签名,因此,它的运算速度较快,本实施例中,对于包含多个文件的文件树,由于数据量较大,为了提高签名速度,采用DSA算法。此外,DSA算法是两个素数公开,这样,当使用别的文件的p和q时,即使不知道私钥,也可以确认它们是否是随机产生的,还是已经作了手脚。其中DSA算法的计算流程如下:发送方使用SHA-1和SHA-2编码将发送内容加密产生的数字摘要,发送方用自己的专用密钥对摘要进行再次加密得到数字签名;发送方将原文和加密后的摘要传给接收方,接收方使用发送方提供的密钥对进行解密,同时对收到的内容用SHA-1/SHA-2编码加密产生同样的摘要,接收方再将解密后的摘要和上述中加密产生的摘要进行比对,如果两者一至,则说明传输过程的信息没有被破坏和篡改,否则传输信息则不安全。对于单个文件,既可以采用DSA算法,也可以采用其它的算法,例如,ECDSA椭圆曲线数字签名算法,MD2、MD4、MD5算法,SHA-1算法,SHA-2算法,SHA-3算法等等。
S1230、采用选取的目标散列算法分别对每个在线文件进行计算求得目标散列值。
在实际应用中在算法数据库查找与各类型在线文件具有映射关系的目标散列算法,假设与文件树具有映射关系的目标散列算法为第一签名算法,与单个文件具有映射关系的目标散列算法为第二签名。本发明实施例提供一种采用选取的目标散列算法分别对每个在线文件进行计算求得目标散列值的方法,如图4所示,图4为本发明实施例提供的一种采用选取的目标散列算法分别对每个在线文件进行计算求得目标散列算法的方法的基本流程示意图。
具体地,如图4所示,步骤S1230包括下述步骤:
S1231、采用预设的第一签名算法对数据包进行加密运算,得到第一签名;
S1232、采用预设的第二签名算法对单个文件进行加密运算,得到第二签名。
第一签名算法和第二签名算法可以为SHA系列签名算法和MD系列签名算法,例如,SHA-256,MD5签名算法。第一签名算法和第二签名算法可以相同也可以不同,本实施例中为了增加签名的难度,第一签名算法和第二签名算法不同,在计算签名时以MD5为例进行说明,MD5算法以512位分组来处理输入的在线文件,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,MD5算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。再如,在MD5算法中,首先需要对在线文件进行填充,使其字节长度对512求余的结果等于448,在线文件的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在在线文件的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充,然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,如今信息字节长度=N*512+448+64=(N+1)*512,即得到长度恰好是512的整数倍的散列值,即签名。
本发明实施例提供一种从多个签名中提取预设位数的字符进行混合的方法,如图5所示,图5为本发明实施例提供的一种从多个签名中提取预设位数的字符进行混合的方法的基本流程示意图。
具体地,如图5所示,步骤S1300包括下述步骤:
S1311、获取预设的签名字符序列表,其中,签名字符序列表中多个按照顺序排列的属性字符且每个属性字符包含属性信息;
签名字符序列表用于对签名字符进行组合形成组合签名的文件,其中,签名字符序列表可以为预设的控件,如表格控件,可以为Barcode Xpress、TBarcode、BarcodeReader Toolkit、BarCode ComponentOne等。该类表格控件可以实现数据处理和操作功能。例如,按照每个属性字符的属性信息来提取对应的字符。
S1312、按照属性信息表示的字符属性从第一签名和第二签名中提取字符;
属性信息用于表示所要填入的签名字符串所属的签名类型、位数、个数等。例如,利用第一签名算法和第二签名算法对在现文件进行运算后得到32位的第一签名字符串和64位的第二签名字符串,签名字符序列表中的第一位属性字符的属性信息包括该字符位所需要添加的字符属于第一签名字符,第21位;签名字符序列表中的第二位属性字符的属性信息包括该字符位所需要添加的字符属于第二签名字符,第1位。假设,该序列表中包含8个属性字符,第一个属性字符的签名类型属于第一签名、位数为第5位、个数为1,则中断或服务器按照上述属性信息从第一签名中提取该字符并添加到第一属性字符中。
在一些实施方式中,为增加秘密性,还可以对属性字符的属性信息设置签名类型为null,或在属性信息中设置预设的字符对签名进行干扰。
S1313、将提取的字符添加到字符序列表中,生成混合签名。
需要说明的是,属性字符为字符序列表中的模板字符,可以用相同或者不同的字符来进行设置,当通过上述的方法确定每个属性字符确定的替代字符后,将提取的字符对该属性字符进行替换,并当所有的属性字符完成替换后,字符序列表对其中的字符按照顺序进行组合,即得到该混合签名。
在实际应用中,为了进一步避免攻击者获取到在线文件,本实施例中,还需要对签名后的目标在线文件进行加密,即,本发明实施例还提供一种采用预设的加密方法对目标在线文件进行加密的方法,如图6所示,图6为本发明实施例提供的一种采用预设的加密方法对目标在线文件进行加密的方法的基本流程示意图。
具体地,如图6所示,步骤S1300包括下述步骤:
S1321、采用预设的第一加密算法对目标在线文件进行加密得到第一密钥;
S1322、采用预设的第二加密算法对所述第一密钥进行加密,得到第二密钥;
第一加密算法和第二加密算法可以采用DES加密算法,IDEA加密算法,DSA加密算法,AES加密算法,3DES加密算法等等。其中,第一加密算法和第二加密算法可以相同也可以不同。为提高加密难度,本发明的一个实施例可以采用AES加密算法对目标在线文件进行加密得到第一密钥,采用DSA对第一密钥进行加密得到第二密钥。
S1323、将第二密钥保存到本地数据库中。
采用AES对称加密算法对所述目标在线文件进行加密得到第一密钥;采用RSA非对称加密算法对所述第一密钥进行加密,得到第二密钥;将第二密钥保存到本地数据库中。上述方式中,AES加密的秘钥被RSA算法加密,且RSA解密的秘钥保存在SO库中,攻击者逆向SO获取到RSA解密秘钥的难度大大增加,因此难以获取到文件解密的秘钥,无法对文件进行解密。
为解决上述技术问题本发明实施例还提供一种加密装置。具体请参阅图7,图7为本实施例加密装置基本结构框图。
如图7所示,一种加密装置,包括:获取模块2100、处理模块2200和执行模块2300。其中,获取模块2100,用于获取待加密的在线文件;处理模块2200,用于采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;执行模块2300,用于从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。
加密装置通过采用预设加密算法对在线文件进行加密运算,并从得到的多个签名中提取预设个数的字符进行混合,以及将混合后的目标在线文件进行进一步加密,如此,由于混合签名算法逻辑时自定义的,攻击者很难得到混合签名的生成逻辑,因此,攻击者篡改文件后不可能生成合法的签名,从而达到防篡改的目的,提高了加密的安全性。
在一些实施方式中,所述处理模块包括:第一处理子模块,用于确定每个所述在线文件的类型;第二处理子模块,用于按照所述类型分别选取与每个所述在线文件的类型具有映射关系的目标散列算法;第一执行子模块,用于采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值。
在一些实施方式中,所述第一处理子模块包括:第三处理子模块,用于判断所述在线文件中是否包含附件或链接文档;第四处理子模块,用于当所述在线文件包含附件或链接文档时,确定所述在线文件为文件树,并对所述文件树打包为数据包;第二执行子模块,用于当所述在线文件不包含附件或链接文档时,确定所述在线文件为单个文件。
在一些实施方式中,与所述文件树具有映射关系的目标散列算法为第一签名算法,与所述单个文件具有映射关系的目标散列算法为第二签名,所述第一执行子模块包括:第五处理子模块,用于采用预设的第一签名算法对所述数据包进行加密运算,得到第一签名;第六处理子模块,用于采用预设的第二签名算法对所述单个文件进行加密运算,得到第二签名。
在一些实施方式中,所述执行模块包括:第一获取子模块,用于获取预设的签名字符序列表,其中,所述签名字符序列表中多个按照顺序排列的属性字符且每个所述属性字符包含属性信息;第七处理子模块,用于按照所述属性信息表示的字符属性从所述第一签名和所述第二签名中提取字符;第三执行子模块,用于将提取的字符添加到所述字符序列表中,生成混合签名。
在一些实施方式中,所述执行模块包括:第一执行子模块,用于采用预设的第一加密算法对所述目标在线文件进行加密得到第一密钥;第二执行子模块,用于采用预设的第二加密算法对所述第一密钥进行加密,得到第二密钥;第三执行子模块,用于将所述第二密钥保存到本地数据库中。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图8,图8为本实施例计算机设备基本结构框图。
如图8所示,计算机设备的内部结构示意图。如图8所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种加密方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种加密方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图7中获取模块2100、处理模块2200和执行模块2300的具体内容,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有加密方法中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
计算机设备通过采用预设加密算法对在线文件进行加密运算,并从得到的多个签名中提取预设个数的字符进行混合,以及将混合后的目标在线文件进行进一步加密,如此,由于混合签名算法逻辑时自定义的,攻击者很难得到混合签名的生成逻辑,因此,攻击者篡改文件后不可能生成合法的签名,从而达到防篡改的目的,提高了加密的安全性。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述加密方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种加密方法,其特征在于,包括下述步骤:
获取待加密的在线文件;
采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;
从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。
2.根据权利要求1所述的加密方法,其特征在于,所述采用预设的签名算法对所述在线文件进行加密运算,得到多个签名,包括:
确定每个所述在线文件的类型;
按照所述类型分别选取与每个所述在线文件的类型具有映射关系的目标散列算法;
采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值。
3.根据权利要求2所述的加密方法,其特征在于,所述确定每个所述在线文件的类型包括:
判断所述在线文件中是否包含附件或链接文档;
当所述在线文件包含附件或链接文档时,确定所述在线文件为文件树,并对所述文件树打包为数据包;
当所述在线文件不包含附件或链接文档时,确定所述在线文件为单个文件。
4.根据权利要求3所述的加密方法,其特征在于,与所述文件树具有映射关系的目标散列算法为第一签名算法,与所述单个文件具有映射关系的目标散列算法为第二签名,所述采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值,包括:
采用预设的第一签名算法对所述数据包进行加密运算,得到第一签名;
采用预设的第二签名算法对所述单个文件进行加密运算,得到第二签名。
5.根据权利要求4所述的加密方法,其特征在于,所述从所述多个签名中提取预设位数的字符进行混合,包括:
获取预设的签名字符序列表,其中,所述签名字符序列表中多个按照顺序排列的属性字符且每个所述属性字符包含属性信息;
按照所述属性信息表示的字符属性从所述第一签名和所述第二签名中提取字符;
将提取的字符添加到所述字符序列表中,生成混合签名。
6.根据权利要求1所述的加密方法,其特征在于,所述采用预设的加密方法对所述目标在线文件进行加密,包括:
采用预设的第一加密算法对所述目标在线文件进行加密得到第一密钥;
采用预设的第二加密算法对所述第一密钥进行加密,得到第二密钥;
将所述第二密钥保存到本地数据库中。
7.一种加密装置,其特征在于,包括:
获取模块,用于获取待加密的在线文件;
处理模块,用于采用预设的签名算法对所述在线文件进行加密运算,得到多个签名;
执行模块,用于从所述多个签名中提取预设位数的字符进行混合得到包含混合签名的目标在线文件,并采用预设的加密方法对所述目标在线文件进行加密。
8.根据权利要求1所述的加密装置,其特征在于,所述处理模块包括:
第一处理子模块,用于确定每个所述在线文件的类型;
第二处理子模块,用于按照所述类型分别选取与每个所述在线文件的类型具有映射关系的目标散列算法;
第一执行子模块,用于采用选取的目标散列算法分别对每个所述在线文件进行计算求得目标散列值。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项权利要求所述加密方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项权利要求所述加密方法的步骤。
CN201910969977.7A 2019-10-12 2019-10-12 加密方法、装置、计算机设备及存储介质 Active CN110830261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910969977.7A CN110830261B (zh) 2019-10-12 2019-10-12 加密方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910969977.7A CN110830261B (zh) 2019-10-12 2019-10-12 加密方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110830261A true CN110830261A (zh) 2020-02-21
CN110830261B CN110830261B (zh) 2023-05-02

Family

ID=69549004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910969977.7A Active CN110830261B (zh) 2019-10-12 2019-10-12 加密方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110830261B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367171A (zh) * 2020-10-27 2021-02-12 杭州安恒信息技术股份有限公司 一种基于rsa和MD5的数据传输方法及组件
CN114036114A (zh) * 2021-11-25 2022-02-11 北京达佳互联信息技术有限公司 一种在线文档中附件的展示方法、装置、电子设备及存储介质
CN116846558A (zh) * 2023-08-09 2023-10-03 云海链控股股份有限公司 基于rsa算法的数据加密方法、系统、电子设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153452A1 (en) * 2001-06-12 2004-08-05 Carro Fernando Incertis Method of authenticating a plurality of files linked to atext document
US20130283377A1 (en) * 2012-04-18 2013-10-24 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
CN103780632A (zh) * 2014-02-28 2014-05-07 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网文件完整性验证方法及其系统
CN104486351A (zh) * 2014-12-24 2015-04-01 昆山百润科技有限公司 支持多人对同一份文件签章的客户端、服务器及处理方法
CN107122629A (zh) * 2017-04-19 2017-09-01 山东省计算中心(国家超级计算济南中心) 一种基于随机混淆的Android软件协同加固方法
CN108183802A (zh) * 2018-01-11 2018-06-19 深圳市沃特沃德股份有限公司 数字签名生成方法和装置
CN109214146A (zh) * 2018-08-10 2019-01-15 北京邮电大学 应用软件的签名方法、验签方法和装置
CN109241484A (zh) * 2018-09-06 2019-01-18 平安科技(深圳)有限公司 一种基于加密技术的网页数据的发送方法及设备
CN109241707A (zh) * 2018-08-09 2019-01-18 北京邮电大学 应用程序的混淆方法、装置和服务器
CN109740314A (zh) * 2018-12-27 2019-05-10 杭州当虹科技股份有限公司 一种swf混淆加密的方法
CN110061841A (zh) * 2018-01-18 2019-07-26 北京国盾量子信息技术有限公司 一种签名方法、验签方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153452A1 (en) * 2001-06-12 2004-08-05 Carro Fernando Incertis Method of authenticating a plurality of files linked to atext document
US20130283377A1 (en) * 2012-04-18 2013-10-24 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
CN103780632A (zh) * 2014-02-28 2014-05-07 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网文件完整性验证方法及其系统
CN104486351A (zh) * 2014-12-24 2015-04-01 昆山百润科技有限公司 支持多人对同一份文件签章的客户端、服务器及处理方法
CN107122629A (zh) * 2017-04-19 2017-09-01 山东省计算中心(国家超级计算济南中心) 一种基于随机混淆的Android软件协同加固方法
CN108183802A (zh) * 2018-01-11 2018-06-19 深圳市沃特沃德股份有限公司 数字签名生成方法和装置
CN110061841A (zh) * 2018-01-18 2019-07-26 北京国盾量子信息技术有限公司 一种签名方法、验签方法及装置
CN109241707A (zh) * 2018-08-09 2019-01-18 北京邮电大学 应用程序的混淆方法、装置和服务器
CN109214146A (zh) * 2018-08-10 2019-01-15 北京邮电大学 应用软件的签名方法、验签方法和装置
CN109241484A (zh) * 2018-09-06 2019-01-18 平安科技(深圳)有限公司 一种基于加密技术的网页数据的发送方法及设备
CN109740314A (zh) * 2018-12-27 2019-05-10 杭州当虹科技股份有限公司 一种swf混淆加密的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367171A (zh) * 2020-10-27 2021-02-12 杭州安恒信息技术股份有限公司 一种基于rsa和MD5的数据传输方法及组件
CN114036114A (zh) * 2021-11-25 2022-02-11 北京达佳互联信息技术有限公司 一种在线文档中附件的展示方法、装置、电子设备及存储介质
CN116846558A (zh) * 2023-08-09 2023-10-03 云海链控股股份有限公司 基于rsa算法的数据加密方法、系统、电子设备及介质

Also Published As

Publication number Publication date
CN110830261B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US8300828B2 (en) System and method for a derivation function for key per page
US5757913A (en) Method and apparatus for data authentication in a data communication environment
CN103457718B (zh) 使用可变长度分段和固定分组加密的部分密文更新
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN109840425B (zh) 一种文件加密的方法和装置
US7269736B2 (en) Distributed cryptographic methods and arrangements
US9608822B2 (en) Method for generating an HTML document that contains encrypted files and the code necessary for decrypting them when a valid passphrase is provided
CN110830261B (zh) 加密方法、装置、计算机设备及存储介质
US9979537B2 (en) Format-preserving cipher
US20230325516A1 (en) Method for file encryption, terminal, electronic device and computer-readable storage medium
CN106911712B (zh) 一种应用于分布式系统的加密方法及系统
GB2528959A (en) Encoder, decoder and method
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
CN102447558B (zh) 按需取用随机序列的具有误导功能的加密方法
CN111859435B (zh) 一种数据安全处理方法及装置
CN109687966A (zh) 加密方法及其系统
Joshy et al. Text to image encryption technique using RGB substitution and AES
Malalla et al. Improving hiding security of Arabic text steganography by hybrid AES cryptography and text steganography
CN117134914B (zh) 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统
Tiwari Cryptography in blockchain
CN102360414B (zh) 一种可修正伪随机序列的可误导的加密方法
Agnihotri et al. A secure document archive implemented using multiple encryption
CN117439744A (zh) 基于业务安全等级的业务数据传输方法及装置
CN114430549A (zh) 一种适用于无线通信的白盒加解密方法与装置
Velioğlu et al. A New Approach to Cryptographic Hashing: Color Hidden Hash Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant