文件加解密处理程序
文件解密XX工程文件解密的程序和要求

文件解密XX工程文件解密的程序和要求一、概述在XX工程中,文件加密是一种常见的保护机制,可以有效防止未经授权的人员获取敏感信息。
然而,在某些情况下,我们需要进行文件解密,以便进行后续的分析和处理。
本文将介绍XX工程文件解密的程序和要求。
二、文件解密程序文件解密程序是用于将加密的文件还原为原始文件的工具。
在XX 工程中,我们使用了以下步骤来执行文件解密。
1. 确认文件加密算法首先,我们需要确认使用的文件加密算法。
这些算法通常会采用对称密钥加密或非对称密钥加密。
2. 获取解密密钥在进行文件解密之前,我们需要获取解密密钥。
这可能需要联系相关的部门或人员,以获得解密密钥的许可和权限。
3. 执行文件解密程序一旦获得解密密钥,我们可以执行文件解密程序。
该程序将使用密钥对加密文件进行解密,并还原为原始文件。
解密程序的具体操作步骤取决于所使用的解密算法和工具。
4. 验证解密结果解密完成后,我们需要验证解密结果是否与原始文件一致。
可以使用文件哈希算法或其他验证方法来确保解密结果的准确性。
三、文件解密要求为了确保文件解密的安全性和准确性,XX工程有一些特定的要求。
1. 授权访问只有获得许可和权限的人员才能进行文件解密操作。
任何未经授权的访问都是严格禁止的。
2. 保密性解密密钥和解密程序都属于敏感信息,必须严格保密。
在传输、存储和使用过程中,需要采取相应的安全措施,以防止信息泄露。
3. 记录和审计所有的文件解密操作都应该被记录和审计。
这样可以确保解密操作的追溯性,并及时发现任何潜在的安全问题。
4. 合规性要求文件解密操作需要符合相关的法规和内部规定。
例如,对于某些敏感文件,可能需要额外的安全措施和审批流程。
5. 周期性评估定期对文件解密程序和要求进行评估,以及时发现和修复潜在的安全漏洞和问题。
四、总结文件解密在XX工程中是一个重要的过程,它能够帮助我们获取并还原加密文件的原始内容。
在进行文件解密时,我们需要确认加密算法、获取解密密钥,并使用文件解密程序进行操作。
深入学习Python解析并解密PDF文件内容的方法

深⼊学习Python解析并解密PDF⽂件内容的⽅法 前⾯学习了解析PDF⽂档,并写⼊⽂档的知识,那篇⽂章的名字为深⼊学习Python解析并读取PDF⽂件内容的⽅法。
链接如下: 但是最近出现了⼀个新问题,就是上⾯使⽤pdfminer这个库只能解析正常的PDF内容,然⽽在实际情况中,公司的⼀些⽂档可能是加密的,那么如何处理加密的PDF⽂件,就是本⽂学习的重点。
在⽹上查找资料,发现pypdf2可以实现对pdf⽂件进⾏加密,解密,所以就学习了⼀下这个库,并留下笔记。
⾸先说明pypdf2是Python3版本的,在之前的Python2版本有⼀个对应的pypdf库,但是本⽂下载了pypdf2这个库,在Python2 运⾏时没有报错的。
注意:所有修改操作均⽆法再原⽂件中操作,只能将修改的结果写⼊新⽂件中。
⼀:PyPDF2介绍 PyPDF2是源⾃pyPdf项⽬的纯python PDF⼯具包。
它⽬前由。
维护。
PyPDF2可以从PDF⽂件中提取数据,或者操纵现有的PDF来⽣成新⽂件。
PyPDF2与Python版本2.6,2.7和3.2 - 3.5兼容。
作为PDF⼯具包构建的Pure-Python库。
它能够:提取⽂档信息(标题,作者,......)逐页拆分⽂档逐页合并⽂档裁剪页⾯将多个页⾯合并为⼀个页⾯加密和解密PDF⽂件 通过Pure-Python,它应该在任何Python平台上运⾏,⽽不依赖于外部库。
它也可以完全在StringIO对象⽽不是⽂件流上⼯作,允许在内存中进⾏PDF操作。
因此,它是管理或操作PDF的⽹站的有⽤⼯具。
⽽本⽂主要学习加密解密PDF⽂件。
⼆:PyPDF2安装2.1 下载 在https:///project/PyPDF2/ 中搜索PyPDF2 1.26.0可以安装包。
2.2 在Linux安装压缩包命令如下:cd /data && tar -xvf PyPDF2-1.26.0.tar.gzcd PyPDF2-1.26.0python setup.py install2.3 直接安装pip install pypdf22.4 PyPDF的官⽅⽂档:三:PyPDF 的使⽤⽬的 ⾸先我这⾥有⼀个加密的PDF⽂件: 那么我使⽤上⼀篇⽂章的代码(如下):#coding:utf-8import importlibimport sysimport timeimportlib.reload(sys)time1 = time.time()from pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import PDFPageAggregatorfrom yout import LTTextBoxHorizontal, LAParamsfrom pdfminer.pdfinterp import PDFTextExtractionNotAllowedtext_path = r'5b931164edc09a226b3a12c4.pdf'def parse():'''解析PDF⽂本,并保存到TXT⽂件中'''fp = open(text_path, 'rb')# ⽤⽂件对象创建⼀个PDF⽂档分析器parser = PDFParser(fp)# 创建⼀个PDF⽂档doc = PDFDocument()# 连接分析器,与⽂档对象parser.set_document(doc)doc.set_parser(parser)# 提供初始化密码,如果没有密码,就创建⼀个空的字符串doc.initialize()# 检测⽂档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowedelse:# 创建PDF,资源管理器,来共享资源rsrcmgr = PDFResourceManager()# 创建⼀个PDF设备对象laparams = LAParams()device = PDFPageAggregator(rsrcmgr, laparams=laparams)# 创建⼀个PDF解释其对象interpreter = PDFPageInterpreter(rsrcmgr, device)# 循环遍历列表,每次处理⼀个page内容# doc.get_pages() 获取page列表for page in doc.get_pages():interpreter.process_page(page)# 接受该页⾯的LTPage对象layout = device.get_result()# 这⾥layout是⼀个LTPage对象⾥⾯存放着这个page解析出的各种对象 # ⼀般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 # 想要获取⽂本就获得对象的text属性,for x in layout:if (isinstance(x, LTTextBoxHorizontal)):with open(r'2.txt', 'a') as f:results = x.get_text()print(results)f.write(results + "\n")if __name__ == '__main__':parse()time2 = time.time()print("总共消耗时间为:", time2 - time1) 解析的时候,会主动触发异常(如下): 那么,打开⽂件,我们会发现,实际情况是这样的: 既然⽂件已经加密,那么正常渠道解析,肯定会触发异常,所以此时的重中之重就是解密PDF⽂件,然后再去解析即可。
文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案

上海交通大学硕士学位论文文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案姓名:丁晨骊申请学位级别:硕士专业:计算机技术指导教师:邱卫东;沈亦路20091201文件加密解密算法研究与实现——基于USBKEY的文件加密解密方案摘 要随着信息社会的到来,人们在享受信息资源所带来的巨大便利的同时,也面临着信息安全问题的严峻考验。
如何实现对企业重要信息的加密,防止企业机密信息的泄漏,提高内部机要文件存放的安全性,是当前信息安全领域的一个重要课题。
本文的主要研究内容是文件加密系统的解决方案中文件的加密算法和密钥管理。
首先,论文对现有四种加密方式进行了深入研究,详细分析了这四种加密方式在使用技术、密钥管理及安全强度方面的优缺点及其具体适用环境。
对现有文件加密系统方案的合理性进行了评估、分析和比较。
其次,本文提出了一种安全有效的文件加密方案,其中主要工作有两大部分:1.针对原使用加密算法单一,加密强度不高进行了改进,并基于混合型加密原理作为本文提出文件加密方案的主要手段。
与改进前相比,新方案在文件加密强度上有了较大的提高,消除了原加密体制存在的诸多安全威胁。
2.设计了独立的密钥管理系统,将密钥管理和密码钥匙盘(USBKEY)相结合,在抗模拟接口、抗跟踪软件能力上有很大的提高,将密钥和密文彻底分离,大大提高了密钥的安全性。
最后本文对所提出的加密系统的内存加密数据速度以及文件加密速度进行了测试。
分别将一个文件631KB和3MB的文件进行了加解密的测试,测试结果表明本文提出的文件加密系统具有较好的性能,具有较大的实用性。
关键词:密码体制;DES;RSA;USB;加密;ABSTRACTWith the advent of the information society, people enjoying the tremendous information resources to facilitate the same time, also faces a severe test of information security issues. How to achieve business critical information on encryption, to prevent enterprises from the leakage of confidential information to improve the security of internal confidential document repository, and is the current information security is an important issue.The main research contents of this file encryption system, the solution file encryption algorithm and key management. First, the papers on the existing four kinds of encryption methods conducted in-depth research, detailed analysis of these four kinds of encryption methods in the use of technology, key management and security strength of the strengths and weaknesses and their practical application in the environment. On the existing file encryption system, the rationality of the program were assessed, analysis and comparison.Secondly, this paper presents a safe and effective file encryption program, which has two main parts: 1. For the original use of a single encryption algorithm, encryption is not high intensity has been improved, and is based on principles of hybrid encryption file encryption program, as proposed in this paper the principal means. And improved compared to before the new package file encryption intensity has been greatly improved, eliminating many of the original encryption system, there is a security threat. 2. Designed to separate key management system, key management and cryptographic keys, disk (USBKEY) combined in the anti-analog interface, the ability of anti-tracking software have greatly improved, would be key and cyphertext complete separation, greatly increased of the key security.Finally, the paper for the proposed encryption system to encrypt data rate memory, as well as file encryption speed tested. , Respectively, a 631KB file, and 3MB of file encryption and decryption of the test, the test results show that the file encryption system proposed in this paper has good performance, with great practicality.Keywords: cryptography; DES; RSA; USB; encryption第一章 绪 论1.1立题的意义由于公司经常有一些商业电子文档,要对这些商业文档进行保密。
VBA文件加密和解密技巧

VBA文件加密和解密技巧近年来,随着信息技术的迅猛发展,数据安全性成为一个越来越重要的问题。
无论是个人用户还是企业组织,都需要保护他们的敏感信息免受未经授权的访问。
在Microsoft Office中,VBA(Visual Basic for Applications)是一种广泛使用的编程语言,用于自动化任务和增强功能。
本文将介绍VBA文件加密和解密技巧,帮助用户保护其VBA代码。
1. 为什么需要加密和解密VBA文件VBA可用于编写Microsoft Office应用程序中的宏。
宏可以自动化重复的任务,增加功能或处理数据。
这意味着VBA可以访问和修改敏感数据。
如果未经授权的人员访问了包含敏感信息的VBA代码,将对个人数据和业务数据产生严重危害。
因此,加密VBA文件可以有效降低数据泄露和其他形式的攻击风险。
相反,解密VBA文件对于开发者和系统管理员来说非常重要。
只有在必要时才能访问和编辑VBA代码,以维护和更新应用程序。
因此,配备解密VBA文件技巧是必不可少的。
2. VBA文件加密技巧为了加密VBA文件,我们可以使用以下的技巧:- VBA密码保护:在Excel、Word等Microsoft Office应用程序中,可以通过设置密码来保护VBA代码。
只有输入正确密码的人才能访问和修改VBA代码。
要设置密码,请打开VBA编辑器,选择“工具”>“VBAProject属性”,然后在“保护”选项卡中设置密码。
- 将VBA代码存储在外部文件:将VBA代码存储在单独的文本文件中,然后使用VBA加载器将其引入到Office 应用程序中。
通过这种方式,VBA代码不会暴露在Excel或Word中。
您可以使用文件加密技术加密外部文本文件,以进一步保护VBA代码。
- 使用三方加密工具:有许多第三方工具可以帮助您对VBA代码进行加密。
这些工具使用高级加密算法对代码进行加密,确保只有经过授权的人才能解密它们。
一些工具还提供其他安全功能,如代码隐藏和防止调试。
使用PGP进行加解密和数字签名

实验三:使用PGP进行加解密和数字签名一实验目的:通过使用PGP软件进行加密解密和数字签名,加深对公开密钥体制的加密解密和数字签名的理解。
二实验内容:生成密钥对、导入导出公钥、对文件进行加密、解密、对文件进行数字签名和验证三实验环境:Windows x操作系统PGP Desktop 8.03四实验要求2人一组,相互配合完成实验五实验步骤:一、实验简介:为了保障我们在传输邮件过程的安全性性,我们引入了pgp软件。
本实验主要介绍了pgp软件的安装、如何使用PGP创建密钥对,如何使用PGP输出和签名公共密钥,如何使用PGP和Outlook Express发送并接收加密的电子邮件。
同时,通过此次实验,可以加深学生对密码学有关知识的认识和理解。
安装pgp软件1.双击pgp8.exe,安装PGP。
2.在Welcome屏幕中单击“下一步”。
3.单击“Yes”,接受软件许可协议。
4.阅读Read Me文件,然后单击“下一步”。
5.出现一个窗体,让用户选择是否已经有了Keyring,这时选择“No,I'm a new user”。
6.设定安装位置,然后单击“下一步”。
7.确认为Outlook Express选择了插件程序,然后单击“下一步”。
8.在Start Copying Files部分检查一下设置并单击“下一步”,PGP将开始安装。
9.安装结束后,系统将提示重启,选择“OK”,系统重新启动。
10.重新启动后,会弹出一个PGP License Authorization的对话框。
输入PGP 的许可证号,就可以注册并认证。
11.注册结束后,会弹出一个Key Generation Wizard对话框.。
用户可通过该对话框创建密钥对。
12点击Key Generation Wizard对话框中的“下一步”,输入用户名和邮件地址,如图所示。
可以根据需要还可以点击Key Generation Wizard对话框中的“Expert”,选择加密方式、加密强度以及密钥过期时间等。
汇编课设实验报告—文件加密解密

《汇编语言》课程设计报告文件加密程序院系:计算机科学与技术专业:计算机科学与技术班级:计算机0907班学号:U***********:*******:**2011 年9月7 日************目录*************一、需求分析 (3)二、系统设计 (3)三、软件开发 (16)四、软件测试 (16)五、特点不足 (21)六、过程和体会 (25)七、源码和说明 (28)一、需求分析1、题目要求编写一个文件加密程序enc,对于任意的文件进行加密和解密,加密算法何以自选。
程序功能:1.程序带有3个命令行参数,依次为运行模式、密钥、文件名。
Enc e 密钥文件名对于文件进行加密Enc d 密钥文件名对于文件进行解密要求加密后的文件进行解密能够完全恢复成原文件。
2、需求分析重点考察1.基本的算术运算和逻辑位运算。
2.用汇编实现简单的数据结构。
3.INT21H系统功能调用中有关文件、目录的操作。
4.可执行程序的参数使用。
5.综合解决问题的能力。
二、系统设计1、概要设计(1)设计思路1、要对一个文件进行加密处理首先要将其打开,汇编中可用3DH功能调用按路径打开文件。
2、打开文件之后便是将其调入内存之中,因而用到3FH功能调用,从文件或设备中读入。
3、按写好的加密程序对其进行加密处理。
4、将加密后的内存中的文件重新写入覆盖掉原文件,可用40H功能调用,向文件或设备写入。
5、覆盖掉原文件后再关闭文件,可用3EH功能调用,关闭文件。
6、解密部分与加密部分相仿,先打开文件,读入内存,解密后重新写入覆盖原文件,最后关闭文件(2)加密原理利用汇编语言读文件功能调用,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,与内存中的文件内容相加,改变文件内容,再写入覆盖文件,完成加密处理。
(3)解密原理解密原理与加密原理基本一致,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,由内存中的待解密的文件内容减去密匙,改变文件内容,再写入覆盖文件,完成解密处理。
VBA在文件加密与解密中的技巧分享

VBA在文件加密与解密中的技巧分享文件加密与解密是在信息安全领域中非常重要的工具和技术。
VBA(Visual Basic for Applications)是一种用于Microsoft Office应用程序的编程语言,能够帮助用户通过自动化任务提高工作效率。
在文件加密与解密中,VBA可以发挥重要的作用,提供各种功能和技巧来保护和处理敏感数据。
本文将分享一些VBA在文件加密与解密中的技巧,帮助用户更好地保护和处理文件。
1. VBA密码保护在VBA中,可以使用密码保护来限制访问和修改VBA代码。
为了保护自己的VBA代码,可以使用以下VBA语句设置密码:```vbaVBProject.VBComponents("Module1").CodeModule.Password = "password"```此代码将给名为Module1的模块设置一个密码。
设置密码后,无法在没有正确密码的情况下访问、修改或删除模块中的代码,从而保护代码的安全性。
2. 文件加密技巧通过VBA,可以实现文件加密的功能,保护文件中的数据不被未授权的人访问。
以下是一种常见的文件加密技巧的示例:```vbaSub EncryptFile()Dim ws As WorksheetDim fileName As StringDim password As StringSet ws = ThisWorkbook.Worksheets("Sheet1")fileName = "C:\path\to\file.xlsx"password = "password"' 通过另存为功能将文件以密码保护的方式保存ws.SaveAs fileName:=fileName, Password:=password, FileFormat:=xlOpenXMLWorkbookEnd Sub```此代码将当前活动工作簿中的Sheet1工作表另存为名为file.xlsx的文件,并使用指定的密码对文件进行加密。
机密文件管理规章细则

机密文件管理规章细则一、引言机密文件的管理对于一个组织的安全至关重要。
通过制定和执行规章细则,可以确保机密信息的保密性、完整性和可用性。
本文将详细介绍机密文件管理规章细则。
二、机密文件的定义与分类1. 机密文件的定义:机密文件是指包含敏感信息,未经授权人同意,不得泄露给未经授权的人员的文件。
2. 机密文件的分类:根据信息的敏感程度,可以将机密文件分为三个级别:- 机密级:指对国家安全、经济建设、科研成果等影响重大的文件;- 秘密级:指对某项工作、某种技术或某个部门的运作有重要影响的文件;- 内部级:指对某个部门或机构内部运作过程中需要保密的文件。
三、机密文件的保管1. 机密文件的存储:机密文件应存放在专门的保密档案室或保险柜中,在保管期限届满后,应根据规定进行销毁。
2. 机密文件的备份:机密文件应定期进行备份,并存放在专门的备份存储设备中。
3. 机密文件的访问控制:机密文件的访问应按照授权管理,只有经过授权的人员才能查看和处理机密文件。
四、机密文件的传输与传递1. 机密文件的传输媒介:机密文件的传输应通过加密通信渠道进行,确保文件在传输过程中不被非法获取。
2. 机密文件的传递程序:机密文件的传递应使用安全的传递程序,确保文件在传递过程中不会被篡改或泄露。
五、机密文件的使用与处理1. 机密文件的使用范围:机密文件的使用仅限于与文件内容相关的工作需要,不得私自复制、传播或非法使用。
2. 机密文件的处理程序:机密文件的处理应按照规定的程序进行,包括文件的使用、复制、存储和销毁等环节。
3. 机密文件的加密与解密:对于特别敏感的机密文件,应采用加密技术进行保护,确保文件内容不被非法获取。
六、机密文件的审计与追溯1. 机密文件的审计记录:对机密文件的访问、使用和处理等操作应进行审计,并留存相应的审计记录。
2. 机密文件的追溯调查:对于机密文件的泄露或非法使用行为,应进行追溯调查,并采取相应的纠正措施。
七、机密文件管理的责任与义务1. 管理责任的界定:各级管理人员应明确机密文件管理的责任与义务,并建立相应的管理体系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计报告
( 2012 /2013 学年第一学期)
题目:文件加解密处理程序
专业
学生姓名
班级学号
指导教师陈燕俐
指导单位计算机系统结构与网络教学中心日期
一、课题内容及要求
1.功能要求
编写一个对文件(由数字或字母组成)进行加密解密的程序。
可以将所需要的内容(整个文件或者输入的一行字符)加密,也可以将存储的加密文件翻译回来。
例如加密时可以将选取内容的每个字符依次反复加上”49632873”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(既N%122).解密与加密的顺序相反。
2.菜单要求:
从键盘输入要进行加密的一行字符串或者需要加密的文件名。
显示菜单:
1.设置加密方法
2.加密
3.解密
4.显示原始文件和解密文件
选择菜单,进行相应的操作。
加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性;显示是将文件在屏幕上显示出来,供人工校对。
3. 程序设计参考思路:
(1)定义原始文件、加密文件和还原文件
(2) 程序模块及函数功能:
(1)在屏幕上显示文件 void printtxt();
(2)加密void encode();
(3)解密void decode();
(4)文件比较void cmptxt();
4.需要的知识:
(1)文件读取写入操作语言
(2)字符串的处理,如何对字符进行加减操作,并保证加减后的数值处于某一范围之内(模运算)
(3)了解加解密的基本原理
二、需求分析
模块分析:
(1)在屏幕上显示文件 void printtxt()
用于将原始文件,加密文件,解密文件,的内容显示在屏幕上,方便检验程序是否正确执行。
在此函数中要以输入方式打开三个文件。
(2)加密void encode()
对原始文件整个或部分字符串加密,并将加密后的内容写入上。
加密时,每个字符依次反复加上”4963287312”中的数字,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(即N%122).
例如:加密the
(t)116+4,(h)104+9,(e)101+6
变为xqk
(3)解密void decode()
对加密后的进行解密,并将解密后的内容写入文件中。
解密过程与加密过程的顺序正好相反,即从第一个字符开始,每个字符依次反复减去”4963287312”中的数字,若执行减法后得到一个负数,则把这个负数加122,即 (N+122), 其中N为负数。
例如:把xqk解密
(x) 120-4 (q)111-9 (k) 107-6
变为 the
(4)设置加密方法void set()
由键盘输入,得到加密字节数和加密字符串,进行加密方法的设置,主要由输出输入语句组成,目的是为了方便人机交流。
(5)加密方法用结构表示
struct password /*加密方法*/
{
char ps[10]; /*加密字符串*/
long wd; /*加密的字节数*/
};
(6)文件比较void cmptxt()
从source文件和recall文件中读取字符并进行比较,看加解密是否成功。
但由于已经在屏幕上显示原文件和解密文件,故不调用。
(7)显示菜单:
******************
* 1.设置加密方法 *
* 2.加密 *
* 3.解密 *
* 4.显示文件 *
* 5.退出 *
******************
三、概要设计
1.加密程序的设计:
开始,以输出方式打开加密文件,以输入方式打开原始文件,判断文件是否为空,若为空,对字符串进行加密:定义for循环,判断i值是否小于字符串的长度,是则进行加密运算,即将字符所对应的ASCALL码加上加密字符串所对应的数字减去48,得到的就是加密后的字符,如果范围超过ASCII码值的032(空格)—122(‘z’),则进行模运算(即N%122),将加密后的文字写入加密文件,关闭打开的两个文件,屏幕显示加密成功。
如果文件不为空,则对文件中字符加密,加密过程与上述加密过程相似。
2.解密程序的设计:
开始,以输出方式打开解密密文件,以输入方式打开加密文件,对加密后的文件中的字符串进行解密:定义for循环,判断i值是否小于字符串的长度,是则进行加密运算,即将字符所对应的ASCALL码减去加密字符串所对应的数字加上48,得到的就是解密后的字符,若执行减法后得到一个负数,则把这个负数加122,即 (N+122), 其中N为负数。
将解密后的文字写入解密文件,关闭打开的两个文件,屏幕显示解密成功。
3.显示程序的设计:
以输入方式打开原始文件,加密文件,解密文件,将文件中进行的字符串读入到屏幕上,方便读者进行比较。
4.主函数的设计:
选用switch语句,从键盘读入字符以选择调用函数,实现操作。
四、源程序
#include<>
#include<>
#include <>
struct password /*加密方法结构变量*/
{
char ps[10]; /*密字符串*/
long wd; /*加密的字节数*/
};
struct password password;
char s[100];
void set() 置加密方法 * \n");
printf(" \n");
printf("* 2.加密文件 * \n");
printf(" \n");
printf("* 3.解密文件 * \n");
printf(" \n");
printf("* 4.显示文件 * \n");
printf(" \n");
printf("* 5.退出 * \n");
printf(" \n");
printf("******************\n");
printf("请选择:");
}
void creat() //创建文件
{
FILE *f1 = fopen("","wt");
FILE *f2 = fopen("","wt");
FILE *f3 = fopen("","wt");
fclose(f1);
fclose(f2);
}
void main() //主函数,进行选择{
int a=0;
menu();
while (a!=5)
{
scanf("%d",&a);
switch(a)
{
case 1:
creat();
set();
system("cls");
menu();
break;
case 2:
encode();
system("cls");
menu();
break;
case 3:
decode();
system("cls");
menu();
break;
case 4:
Printtxt();
system("cls");
break;
case 5:
printf("\n 结束 !\n\n");
break;
default:
printf("\n 请再次输入! \n");
system("cls");
menu();
break;
}
}
}
五、测试数据及其结果分析
选择1设置加密方法,加密字符串496,为前五位字符加密从键盘读入要加密的字符串文件并加密
解密
显示加密文件与解密文件
七、课程设计总结
遇到的问题:
1,在解密文件时会遇到将未被加密的字符进行解密,以致出现错误的解密文件。
后来发现解密函数中有一句的文件字符写入写错了,从result文件中读出即可解决。
2,程序不能给长文件加密,后来计算需加密文件长度,对加密字符串长度取余,即可实现重复的加密,实现全文加密。
感想:
虽然老师什么都不讲,但是自己动手查资料,讨论语句的功能还是很有意思的,也更加巩固了c语言知识,能灵活的运用知识了。