文件的加密及解密方法

文档序号:9350300阅读:725来源:国知局
文件的加密及解密方法
【技术领域】
[0001]本发明涉及列车控制技术领域,具体的说,涉及一种文件的加密及解密方法。
【背景技术】
[0002]列车运行监控记录装置是保证列车安全运行的重要组成部分,能够辅助控制司机对列车的操纵,使列车运行起来更加安全。其中,LKJ2000系统是目前列车运行监控记录装置中最为常用的一种。
[0003]LKJ2000系统作为国内主流的列车安全设备,人机交互单元是LKJ2000系统中的重要部件,承担着以文字、图形等形式对列车的控制信息、状态信息等进行有效显示的工作。目前,LKJ2000系统的人机交互单元的程序及文件更新是通过从专用IC卡中下载对应的程序及文件实现。随着新型人机交互单元的出现,其存储容量越来越大,可达到几个GB,需要更新的程序及文件的数量、大小的也大大增加,例如较大的字库文件、语音文件等。
[0004]但是,从专用IC卡中下载文件速度较慢,只能达到55KB/S,而且专用IC卡的容量较小,不适合保存较大的文件,目前常用的专用IC卡容量通常只有4MB。如果使用其他大容量、快速传输的存储设备传输、下载更新的程序及文件,有难以保证程序及文件的安全性。因此,现有技术中受到安全因素的限制,难以提高程序及文件更新的便捷性。

【发明内容】

[0005]本发明的目的在于提供一种文件的加密及解密方法,以解决现有技术中受到安全因素的限制,难以提高程序及文件更新的便捷性的技术问题。
[0006]本发明提供一种文件的加密方法,包括:
[0007]打开待加密文件;
[0008]在所述待加密文件的特定位置读取固定字节的数据;
[0009]根据读取到的字节进行校验码的计算,生成校验码;
[0010]将所述校验码保存在所述待加密文件中,生成加密文件。
[0011]优选的是,在打开待加密文件之前,还包括:
[0012]将更新文件压缩为压缩文件,所述压缩文件作为待加密文件。
[0013]进一步的是,生成加密文件之后,还包括:
[0014]将所述更新文件的版本号保存在所述加密文件中。
[0015]优选的是,所述版本号保存的位置为压缩文件尾。
[0016]本发明还提供一种文件的解密方法,包括:
[0017]打开加密文件;
[0018]在所述加密文件的特定位置读取固定字节的数据;
[0019]根据读取到的字节进行校验码的计算,生成校验码;
[0020]将生成的校验码与所述加密文件中保存的校验码进行一致性比较,如果一致,则校验成功;否则校验失败。
[0021]优选的是,所述加密文件为更新文件经压缩并加密而成的压缩文件。
[0022]进一步的是,校验成功后,还包括:
[0023]判断所述压缩文件中保存的版本号是否高于当前文件的版本号;
[0024]如果是,则进行文件更新;否则放弃文件更新。
[0025]进一步的是,进行文件更新,具体为:
[0026]去除所述压缩文件中保存的检验码和版本号;
[0027]解压缩所述压缩文件,得到更新文件;
[0028]用所述更新文件替换当前文件。
[0029]本发明带来了以下有益效果:本发明提供的加密方法中,通过在待加密文件的特定位置读取固定字节的数据,并计算生成校验码,再将校验码保存在待加密文件中,生成加密文件。另一方面,本发明提供的解密方法中,也是通过在加密文件的特定位置读取固定字节的数据,并计算生成校验码,再进行一致性比较,实现校验,从而提高了程序及文件更新的安全性。因此,利用本发明提供的加密及解密方法,就可以安全的使用USB设备等大容量、快速传输的存储设备进行程序及文件的更新,从而提高了程序及文件更新的便捷性。
[0030]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0031]为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
[0032]图1是本发明实施例提供的文件的加密方法的流程图;
[0033]图2是本发明实施例提供的文件的解密方法的流程图;
[0034]图3是本发明实施例提供的人机交互单元的更新系统的示意图。
【具体实施方式】
[0035]以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0036]实施例一:
[0037]本发明实施例提供一种文件的加密方法及解密方法,可应用于LKJ2000系统中人机交互单元的程序及文件的更新。
[0038]本发明实施例中,加密方法用于对人机交互单元的更新文件(需要更新的程序或文件)进行加密,如图1所示,该加密方法包括以下步骤:
[0039]SlOl:打开待加密文件。
[0040]作为一个优选方案,在进行步骤SlOl之前,可以先将更新文件压缩为一个压缩文件,减小更新文件的容量。该压缩文件即作为本实施例中的待加密文件。
[0041]然后,可以通过软件,以文件的方式打开该压缩文件。
[0042]S102:在压缩文件(待加密文件)的特定位置读取固定字节的数据。
[0043]该特定位置可以根据具体需求预先设置。例如,可以在压缩文件的某个位置,读取一段连续字节的数据;或者,也可以在压缩文件的多个位置,读取多个(或多段)字节。
[0044]S103:根据读取到的字节进行校验码的计算,生成校验码。
[0045]根据步骤S102读取到的字节的数据,进行校验处理,即校验码的计算,生成该压缩文件的校验码。因为用于生成校验码的字节的数据是从压缩文件的特定位置读取的,所以所生成的校验码取决于该特定位置的选取。
[0046]S104:将校验码保存在压缩文件(待加密文件)中,生成加密文件。
[0047]生成校验码之后,将校验码保存在压缩文件的预定位置中,即可生成加密文件。应当说明的是,本步骤中的预定位置与步骤S102中的特定位置是不同的。此外,本步骤中所生成的加密文件仍然是一个压缩文件。
[0048]进一步的是,在生成加密文件之后,还可以包括:
[0049]S105:将更新文件的版本号保存在压缩文件(加密文件)中。
[0050]将本次的更新文件的版本号也保存在压缩文件中,以便于明显的标识更新文件的版本。作为一个优选方案,版本号保存的位置可以选取为压缩文件的压缩文件尾。
[0051]相应的,本发明实施例还提供一种文件的解密方法,应用于人机交互单元中,具体用于对更新文件进行解密,如图2所示,该解密方法包括以下步骤:
[0052]S201:打开加密文件。
[0053]本实施例中,该加密文件为更新文件经压缩并加密而成的压缩文件。也就是上述加密方法中最终生成的压缩文件,并且其中保存有校验码和版本号。
[0054]S202:在压缩文件(加密文件)的特定位置读取固定字节的数据。
[0055]本步骤中的特定位置,应当与上述加密方法的步骤S102中的特定位置相同。
[0056]S203:根据读取到的字节进行校验码的计算,生成校验码。
[0057]根据步骤S202读取到的字节的数据,进行校验处理,即校验码的计算,生成该压缩文件的校验码。因为用于生成校验码的字节的数据也是从压缩文件的相同的特定位置读取的,所以本步骤中生成的校验码应该与上述加密方法的步骤S103中生成的校验码相同。
[0058]S204:将生成的校验码与压缩文件(加密文件)中保存的校验码进行一致性比较。
[0059]如果比较结果一致,则校验成功,可以继续进行文件更新。
[0060]如果比较结果不一致,则校验失败,放弃本次文件更新。校验失败的原因通常是,步骤S202与步骤S102中读取的字节的数据不同。
[0061]进一步的是,校验成功后,还包括:
[0062]S205:判断压缩文件(加密文件)中保存的版本号是否高于当前文件的版本号。
[0063]通过读取保存于压缩文件尾的版本号,即可获知本次更新文件的版本。如果更新文件的版本号高于当前文件的版本号,则继续进行步骤S206,进行文件更新。如果更新文件的版本号低于当前文件的版本号,或者二者相同,则说明本次的更新文件并不是更高的版本
当前第1页1 2 
网友询问留言 已有1条留言
  • 176717... 来自[中国] 2023年01月12日 09:29
    看着不错
    0
1