CN105184181B - 文件的加密方法、解密方法及装置 - Google Patents
文件的加密方法、解密方法及装置 Download PDFInfo
- Publication number
- CN105184181B CN105184181B CN201510330013.XA CN201510330013A CN105184181B CN 105184181 B CN105184181 B CN 105184181B CN 201510330013 A CN201510330013 A CN 201510330013A CN 105184181 B CN105184181 B CN 105184181B
- Authority
- CN
- China
- Prior art keywords
- file
- encryption
- data
- row data
- row
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 10
- 238000012795 verification Methods 0.000 claims description 67
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013524 data verification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 abstract description 7
- 238000012986 modification Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000005611 electricity Effects 0.000 description 3
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明的实施例提供了一种文件的加密方法、解密方法及装置。所述加密方法包括:获取包括至少一个行数据的文件;利用预定的加密密钥逐个对所述行数据进行加密,得到所述文件的密文;对所述密文进行循环冗余校验CRC运算得到校验数据;根据所述校验数据和所述密文生成加密的文件。通过本发明的文件的加密方法、解密方法及装置,能够实现对关键性文件的保护,避免了因误操作或人为恶意修改文件带来的安全隐患。
Description
技术领域
本发明涉及文件加密、解密技术领域,尤其涉及一种文件的加密方法、解密方法及装置。
背景技术
密码技术是信息安全的核心技术,加密方法和解密方法可以保证文件的机密性和完整性。通常,现有的文件加密方法、解密方法大多是对文件本身进行加解密,加密后的文件的格式和属性均发生了改变。如果运行文件的设备对软硬件性能及文件格式有要求的话,那么现有的加密方法和解密方法就无法照搬适用,也就不能实现对文件的有效保护。
以风电领域中的文件进行加解密操作为例,风力发电机组的初始化文件属于关键性文件,其用在机组主控制器中,主控制器一般为可编程逻辑控制器,可编程逻辑控制器对硬件和软件性能就有一定的限制,对文件格式也有相应的要求。因此,前述方法并不适用于初始化文件的加解密,从而也无法避免初始化文件被误操作或是人为恶意修改带来的安全隐患。
发明内容
本发明实施例的目的在于,提供一种文件的加密方法、解密方法及装置,以实现对关键性文件的保护,避免因误操作或人为恶意修改文件带来的安全隐患。
为实现上述发明目的,本发明的实施例提供了一种文件的加密方法,所述方法包括:获取包括至少一个行数据的文件;利用预定的加密密钥逐个对所述行数据进行加密,得到所述文件的密文;对所述密文进行循环冗余校验CRC运算得到校验数据;根据所述校验数据和所述密文生成加密的文件。
本发明的实施例还提供了一种文件的解密方法,所述方法包括:获取包括至少一个加密行数据的加密文件,所述加密行数据包括第一校验数据;逐个对所述加密行数据进行循环冗余校验CRC运算得到相应的第二校验数据;如果所述第二校验数据与所述第一校验数据匹配,则利用预定的加密密钥对所述加密行数据进行解密,并合并各个解密得到的行数据生成解密的文件。
本发明的实施例还提供了一种文件的加密装置,所述装置包括:文件获取模块,用于获取包括至少一个行数据的文件;文件加密模块,用于利用预定的加密密钥逐个对所述行数据进行加密,得到所述文件的密文;校验数据运算模块,用于对所述密文进行循环冗余校验CRC运算得到校验数据;加密文件生成模块,用于根据所述校验数据和所述密文生成加密的文件。
本发明的实施例还提供了一种文件的解密装置,所述装置包括:加密文件获取模块,用于获取包括至少一个加密行数据的加密文件,所述加密行数据包括第一校验数据;校验数据运算模块,用于逐个对所述加密行数据进行循环冗余校验CRC运算得到相应的第二校验数据;文件解密模块,用于如果所述第二校验数据与所述第一校验数据匹配,则利用预定的加密密钥对所述加密行数据进行解密,并合并各个解密得到的行数据生成解密的文件。
本发明实施例提供的文件的加密方法、解密方法及装置,采用加密密钥和校验数据相结合的方式逐行对文件进行加密,从而实现了在不改变文件格式和属性的情况下对关键性文件的保护,避免了因误操作或人为恶意修改文件带来的安全隐患。
附图说明
图1为本发明实施例一的文件的加密方法的流程示意图;
图2为本发明实施例二的文件的解密方法的流程示意图;
图3为本发明实施例三的文件的加密装置的结构示意图;
图4为本发明实施例四的文件的解密装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例文件的加密方法、解密方法及装置进行详细描述。
实施例一
图1为本发明实施例一的文件的加密方法的流程示意图,如图1所示,文件的加密方法包括:
步骤101:获取包括至少一个行数据的文件。
这里,所述至少一个行数据的文件可以是本身就是以行为单位存储数据的文件,或者还可以是将文件中数据划分成行数据的文件。
以风力发电机组的初始化文件为例,初始化文件就是前述提及的以行为单位存储数据的文件,其每行保存一项风力发电机组运行参数信息,也就是说,风力发电机组的初始化文件是包括多个行数据的文件,每个行数据均代表一项风力发电机组运行参数。
步骤102:利用预定的加密密钥逐个对行数据进行加密,得到文件的密文。
相应地,对文件中的每一行数据进行二进制数据转换,对二进制数据转换后的行数据进行移位处理,将移位处理后的行数据与加密密钥进行异或运算,得到加密行数据,合并各个加密行数据得到密文。这里,加密密钥可为一组长度为8位的十六进制字符串,该加密密钥可灵活设置,不同的用户可采用不同的加密密钥对文件加密,从而保障了文件在不同用户间使用时的技术保密。
步骤103:对密文进行循环冗余校验CRC运算得到校验数据。
具体地,对每个加密行数据进行CRC运算,得到与每个加密行数据相应的校验数据。
步骤104:根据校验数据和密文生成加密的文件。
如前所述,在校验运算得到校验数据之后,就可以由加密行数据和其相应的校验数据生成新的行数据,最终合并各个新的行数据生成加密的文件。需要说明的是,加密的文件的格式和属性均未改变,原有编辑器可以正常打开和显示文件内容,但其表达的信息和原信息已完全不同,不具有可读性。
仍然以前述风力发电机组初始化文件为例,经过这一步骤的处理之后,加密的初始化文件已读不到风力发电机组运行参数信息,从而有效隐藏了初始化文件中的内容。
下面结合具体的处理示例,来进一步更直观地说明一下本发明实施例在风电领域的具体应用。
风力发电机组的初始化文件为文本文件,为便于合法用户查看机组运行参数,其每行信息的识别性和可读性都很强。以风力发电机组初始化文件中的某个行数据“init_init_windturbine_nr=1”为例进行说明。假设采用的密钥码为6D5B9ACB。对行数据进行二进制转换及移位处理后,再与密钥码“6D5B9ACB”进行异或运算,得到的加密行数据为6C2962664DCF2962664DE514625122EC2159501302F4385B08E04758。对该加密行数据进行CRC运算,得到相应的校验数据为54615。将加密行数据和校验数据进行组合,得到新的行数据为6C2962664DCF2962664DE514625122EC2159501302F4385B08E0475854615。
运用上述同样的方法,对初始化文件中的所有行数据进行处理后,即可得到加密的初始化文件。从而使得初始化文件在方便使用的同时也避免了误操作或人为恶意修改运行参数的情况发生,从而保证机组的安全稳定运行。
本发明的文件的加密方法,采用加密密钥和校验数据相结合的方式逐行对文件进行加密,最终生成加密的文件。从而实现了在不改变文件格式和属性的情况下对关键性文件的保护,避免了因误操作或人为恶意修改文件带来的安全隐患。
实施例二
图2为本发明实施例二的文件的解密方法的流程示意图,如图2所示,文件的解密方法包括:
步骤201:获取包括至少一个加密行数据的加密文件。
这里,如前述实施例一所述文件的加密方法,生成的加密文件中包括多个加密行数据,每个加密行数据包括各自的校验数据。相应地,加密行数据包括第一校验数据。
步骤202:逐个对加密行数据进行CRC运算得到相应的第二校验数据。
步骤203:如果第二校验数据与第一校验数据匹配,则利用预定的加密密钥对加密行数据进行解密,并合并各个解密得到的行数据生成解密的文件。
也就是说,将第二校验数据与第一校验数据进行比对,如果第二校验数据与第一校验数据匹配,则说明该加密行数据有效,就利用加密密钥和前述实施例一中步骤102的逆过程对加密行数据进行解密,这里,本步骤的设定的加密密钥为加密时使用的密钥,即加密过程和解密过程使用相同的密钥。加密文件中的每个加密行数据均采用上述方法,在此不做累述。最终,合并各个解密得到的行数据生成解密的文件。
进一步地,为了判断文件是否被修改,并定位被修改的行,该解密方法还可以包括:如果第二校验数据与第一校验数据不匹配,则提示加密行数据为无效数据,结束解密方法的处理。
本发明的文件的解密方法,通过将加密行数据中的校验数据与对加密行数据进行CRC运算得到的校验数据进行匹配,从而判断加密文件是否被改动,在判断为未被改动时,实现了无损还原加密文件的内容。此外,判断为被改动时能够准确定位被修改的行数据。
实施例三
图3为本发明实施例三的文件的加密装置的结构示意图。可用于执行本发明实施例一的文件的加密方法步骤。
参照图3,该加密装置包括文件获取模块301、文件加密模块302、校验数据运算模块303和加密文件生成模块304。
文件获取模块301用于获取包括至少一个行数据的文件。
文件加密模块302用于利用预定的加密密钥逐个对行数据进行加密,得到文件的密文。
具体地,文件加密模块302用于对文件中的每一行数据进行二进制数据转换,对二进制数据转换后的行数据进行移位处理,将移位处理后的行数据与加密密钥进行异或运算,得到加密行数据,合并各个加密行数据,得到密文。
校验数据运算模块303用于对密文进行CRC运算得到校验数据。
相应地,校验数据运算模块303用于对每个加密行数据进行CRC运算,得到与每个加密行数据相应的校验数据。
加密文件生成模块304用于根据校验数据和密文生成加密的文件。
具体地,加密文件生成模块304用于由每个加密行数据和其相应的校验数据生成新的行数据,合并新的行数据生成加密的文件。
本发明的文件的加密装置,采用加密密钥和校验数据相结合的方式逐行对文件进行加密,最终生成加密的文件。从而实现了在不改变文件格式和属性的情况下对关键性文件的保护,避免了因误操作或人为恶意修改文件带来的安全隐患。
优选地,该文件是用于风力发电机组的主控制器中的初始化文件,该初始化文件包括多个行数据,其中,每个行数据是一项风力发电机组运行参数。从而有效、可靠地保护了风力发电机组的初始化文件,适用于风电领域。
实施例四
图4为本发明实施例四的文件的解密装置的结构示意图。可用于执行本发明实施例二的文件的解密方法步骤。
参照图4,该解密装置包括加密文件获取模块401、校验数据运算模块402和文件解密模块403。
加密文件获取模块401用于获取包括至少一个加密行数据的加密文件,加密行数据包括第一校验数据。
校验数据运算模块402用于逐个对加密行数据进行CRC运算得到相应的第二校验数据。
文件解密模块403用于如果第二校验数据与第一校验数据匹配,则利用预定的加密密钥对加密行数据进行解密,并合并各个解密得到的行数据生成解密的文件。
进一步地,为了判断文件是否被修改,并定位被修改的行,该解密装置还可以包括:无效数据提示模块(未示出),用于如果第二校验数据与第一校验数据不匹配,则提示加密行数据为无效数据,结束该解密方法的处理。
本发明的文件的解密装置通过将加密行数据中的校验数据与对加密行数据进行CRC运算得到的校验数据进行匹配,从而判断加密文件是否被改动,在判断为未被改动时,实现了无损还原加密文件的内容。此外,判断为被改动时能够准确定位被修改的行数据。
优选地,该文件的解密装置集成于风力发电机组的主控制器中,从而使得风力发电机组根据解密的文件中的运行参数更加安全、可靠地运行。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种文件的加密方法,其特征在于,所述加密方法包括:
获取包括至少一个行数据的文件,所述文件是用于风力发电机组的主控制器中的初始化文件,所述初始化文件包括多个行数据,其中,每个所述行数据是一项风力发电机组的运行参数;
利用预定的加密密钥逐个对所述行数据进行加密,得到至少一个加密行数据;
对各个所述加密行数据分别进行循环冗余校验运算,得到与所述加密行数据各自相应的校验数据;
由各个所述加密行数据和其相应的校验数据生成新的行数据,并且将各个所述新的行数据合并,生成加密的文件。
2.根据权利要求1所述的加密方法,其特征在于,所述利用预定的加密密钥对每个所述行数据进行加密,得到所述文件的密文的处理包括:
对所述文件中的每一所述行数据进行二进制数据转换,对二进制数据转换后的行数据进行移位处理,将移位处理后的行数据与所述加密密钥进行异或运算,得到加密行数据,
合并各个所述加密行数据,得到所述密文。
3.一种文件的解密方法,其特征在于,所述解密方法包括:
获取包括至少一个加密行数据和各个加密行数据的第一校验数据的加密文件;
逐个对所述加密行数据进行循环冗余校验运算,得到相应的第二校验数据;
如果所述第二校验数据与所述第一校验数据匹配,则利用预定的加密密钥对所述加密行数据进行解密;
将各个解密得到的行数据合并,生成解密的文件,所述文件是用于风力发电机组的主控制器中的初始化文件,所述初始化文件包括多个行数据,其中,每个所述行数据是一项风力发电机组的运行参数。
4.根据权利要求3所述的解密方法,其特征在于,所述解密方法还包括:
如果所述第二校验数据与所述第一校验数据不匹配,则提示所述加密行数据为无效数据。
5.一种文件的加密装置,其特征在于,所述加密装置包括:
文件获取模块,用于获取包括至少一个行数据的文件,所述文件是用于风力发电机组的主控制器中的初始化文件,所述初始化文件包括多个行数据,其中,每个所述行数据是一项风力发电机组的运行参数;
文件加密模块,用于利用预定的加密密钥逐个对所述行数据进行加密,得到至少一个加密行数据;
校验数据运算模块,用于对各个所述加密行数据分别进行循环冗余校验运算,得到与所述加密行数据各自相应的校验数据;
加密文件生成模块,用于由各个所述加密行数据和其相应的校验数据生成新的行数据,并且将各个所述新的行数据合并,生成加密的文件。
6.根据权利要求5所述的加密装置,其特征在于,所述文件加密模块用于对所述文件中的每一所述行数据进行二进制数据转换,对二进制数据转换后的行数据进行移位处理,将移位处理后的行数据与所述加密密钥进行异或运算,得到加密行数据,合并各个所述加密行数据,得到所述密文。
7.一种文件的解密装置,其特征在于,所述解密装置包括:
加密文件获取模块,用于获取包括至少一个加密行数据和各个加密行数据的第一校验数据的加密文件;
校验数据运算模块,用于逐个对所述加密行数据进行循环冗余校验运算,得到相应的第二校验数据;
文件解密模块,用于如果所述第二校验数据与所述第一校验数据匹配,则利用预定的加密密钥对所述加密行数据进行解密,并且将各个解密得到的行数据合并,生成解密的文件,所述文件是用于风力发电机组的主控制器中的初始化文件,所述初始化文件包括多个行数据,其中,每个所述行数据是一项风力发电机组的运行参数。
8.根据权利要求7所述的解密装置,其特征在于,所述解密装置还包括:
无效数据提示模块,用于如果所述第二校验数据与所述第一校验数据不匹配,则提示所述加密行数据为无效数据。
9.根据权利要求7或8所述的解密装置,其特征在于,所述文件的解密装置集成于风力发电机组的主控制器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510330013.XA CN105184181B (zh) | 2015-06-15 | 2015-06-15 | 文件的加密方法、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510330013.XA CN105184181B (zh) | 2015-06-15 | 2015-06-15 | 文件的加密方法、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105184181A CN105184181A (zh) | 2015-12-23 |
CN105184181B true CN105184181B (zh) | 2018-11-13 |
Family
ID=54906254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510330013.XA Active CN105184181B (zh) | 2015-06-15 | 2015-06-15 | 文件的加密方法、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105184181B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862210A (zh) * | 2017-10-19 | 2018-03-30 | 用友网络科技股份有限公司 | 加密处理方法、系统和计算机设备 |
CN108337234B (zh) * | 2017-12-28 | 2021-03-23 | 宁德时代新能源科技股份有限公司 | 车载程序文件加密方法和装置 |
CN110213306B (zh) * | 2018-02-28 | 2022-03-08 | 北京金风科创风电设备有限公司 | 风力发电机组启动控制方法及装置 |
CN110262908A (zh) * | 2019-06-21 | 2019-09-20 | 珠海格力电器股份有限公司 | 一种剪切板数据的处理方法及装置 |
CN110363027B (zh) * | 2019-06-21 | 2021-04-09 | 捷德(中国)科技有限公司 | 一种电子合同的生成及电子签名方法 |
CN110532129A (zh) * | 2019-09-02 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种文件加密存储的方法、装置、设备以及存储介质 |
CN113032806A (zh) * | 2021-03-23 | 2021-06-25 | 中国邮政储蓄银行股份有限公司 | 一种文件处理方法、装置、存储介质及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992588A (zh) * | 2005-12-28 | 2007-07-04 | 智胜国际科技股份有限公司 | 一种结合资料结构的加密模式 |
CN102402671A (zh) * | 2011-12-28 | 2012-04-04 | 苏州铭星科技股份有限公司 | 防止软件被盗用的方法 |
CN103345609A (zh) * | 2013-06-06 | 2013-10-09 | 深圳市大成天下信息技术有限公司 | 一种文本加解密方法和加解密设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769275B2 (en) * | 2006-10-17 | 2014-07-01 | Verifone, Inc. | Batch settlement transactions system and method |
CN102497633A (zh) * | 2011-12-14 | 2012-06-13 | 华中科技大学 | 手机内隐私信息保护方法 |
-
2015
- 2015-06-15 CN CN201510330013.XA patent/CN105184181B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992588A (zh) * | 2005-12-28 | 2007-07-04 | 智胜国际科技股份有限公司 | 一种结合资料结构的加密模式 |
CN102402671A (zh) * | 2011-12-28 | 2012-04-04 | 苏州铭星科技股份有限公司 | 防止软件被盗用的方法 |
CN103345609A (zh) * | 2013-06-06 | 2013-10-09 | 深圳市大成天下信息技术有限公司 | 一种文本加解密方法和加解密设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105184181A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
US9537657B1 (en) | Multipart authenticated encryption | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN106101150B (zh) | 加密算法的实现方法和系统 | |
CN104866784B (zh) | 一种基于bios加密的安全硬盘、数据加密及解密方法 | |
KR20080025121A (ko) | 비대칭 개인키로부터 비밀키 생성 | |
CN103116730A (zh) | 一种dpapi加密数据的解密方法和系统 | |
CN106341384A (zh) | 用于促进安全通信的方法 | |
CN105812146A (zh) | 一种基于md5的双向加密数据保护方法 | |
CN110166458B (zh) | 一种三级秘钥加密方法 | |
CN104200137A (zh) | 一种保护java程序自身安全的方法 | |
WO2023240866A1 (zh) | 密码卡及其根密钥保护方法、计算机可读存储介质 | |
CN105978686A (zh) | 密钥管理方法及系统 | |
CN115499118A (zh) | 报文密钥生成、文件加密、解密方法、装置、设备和介质 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN113346997A (zh) | 用于物联网设备通信的方法及装置、物联网设备、服务器 | |
CN115967485A (zh) | 基于量子密钥的加解密系统 | |
CN105554038A (zh) | 一种在线系统和离线系统数据交互时数据安全的管控方法 | |
CN103746805A (zh) | 外部认证密钥的生成方法和系统 | |
CN107391974A (zh) | 一种软件保护装置数据的备份方法及装置 | |
CN113722741A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN103605919A (zh) | 软件认证文件生成方法和装置、软件认证方法和装置 | |
CN106452754B (zh) | 一种多人在线动态加密方法及装置 | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
KR101929355B1 (ko) | 고유 일련번호 및 대칭키를 이용한 암복호화 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |