-实现文件简单的加密和解密学士学位论文

-实现文件简单的加密和解密学士学位论文
-实现文件简单的加密和解密学士学位论文

实现文件简单的加密和解密

摘要

随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域。同时,信息安全也是人们保护个人隐私的关键,是社会稳定安全的必要前提条件。

信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。现今,加密是一种保护信息安全性最有效的方法。密码技术是信息安全的核心技术。

本文是一篇关于文件简单加密和解密软件——文件管家的毕业设计论文:用AES 算法实现文件的加密和解密,用MD5实现文件校验功能,用覆盖技术实现文件粉碎功能;并且设计了一套完整的注册码验证体系,防止软件被逆向,从而保护软件的安全。

关键词:文件;加密;解密;粉碎;反逆向;AES

Simple implementation file

encryption and decryption

Abstract

With the arrival of the information society, people not only enjoy the enormous benefits of information resources, but also face the severe challenges of information security. Information security has become a worldwide problem. The problem has become a threat to the political, economic, military, cultural, ideological and other aspects of a country. Meanwhile, the information security is the key of protecting individual privacy and the prerequisite for social stability and security.

Information security is a comprehensive interdisciplinary field, involving a wide range of disciplines such as mathematics, cryptography, computer, communications, control, artificial intelligence, security, engineering, humanities and so on, It has been being a hot subject with rapid development. Information countermeasure and network security is a core focus, whose research and developments will stimulate and accelerate the study and progress of related disciplines. So far, the password to information security technology is the most effective method. Cryptography is the core technology of information security.

This article is about a software named File Manager, which can simply encrypt and decrypt files. The software uses AES algorithm to encrypt and decrypt files, MD5 to check the files, and overlay technique to achieve the feature of file shredder. Meanwhile, there is a complete set of design registration code verification system, which is used to protect the software from reverse, thus to protect the security of the software.

Key words:file; encrypt; decrypt; shredder; Anti-Reverse; AES

目录

摘要 (i)

Abstract (ii)

1 绪论 (1)

1.1 论文背景 (1)

1.2 主要工作 (1)

1.3 本文结构 (1)

2 AES介绍 (2)

2.1 AES概述 (2)

2.2 轮密钥加(AddRoundKey) (3)

2.3 字节替代(SubBytes) (3)

2.4 行移位(ShiftRows) (5)

2.5 列混淆(MixColumns) (6)

2.6 密钥调度(Key Schedule) (7)

3 系统设计 (8)

3.1 设计概述 (8)

3.1.1 界面设计 (8)

3.1.2 实现代码设计 (8)

3.1.3 操作流程 (8)

3.2 界面设计 (9)

3.2.1 LOGO设计 (9)

3.2.2 加密选项卡的设计 (10)

3.2.3 解密选项卡的设计 (11)

3.2.4 工具箱选项卡的设计 (12)

3.3 实现代码设计 (12)

3.3.1 加密选项卡的设计 (13)

3.3.2 解密选项卡的设计 (14)

3.3.3 工具箱选项卡的设计 (15)

3.3.4 程序流程图 (16)

4 设计结果及分析 (20)

4.1 设计结果展示 (20)

4.1.1 软件初始化 (20)

4.1.2 注册码验证 (22)

4.1.3 文件加密 (24)

4.1.4 文件解密 (27)

4.1.5 文件校验 (29)

4.1.6 文件粉碎 (29)

4.2 设计结果分析及说明 (30)

4.2.1 软件初始化 (30)

4.2.2 注册码验证 (32)

4.2.3 文件加密 (35)

4.2.4 文件解密 (37)

4.2.5 文件校验 (38)

4.2.6 文件粉碎 (39)

结论 (41)

参考文献 (42)

致谢 (43)

外文原文 (44)

中文翻译 (55)

1 绪论

1.1 论文背景

信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。

网络技术的快速发展,给我们的生活带来了方便,提高了我们的工作效率,丰富了我们的生活,但同时,安全问题也时刻困扰着我们。连接在网络上的计算机随时都有被黑客攻击的可能,在网络上收发的文件也有可能被黑客截获,而这种不安全的因素是TCP/IP协议所固有的,所以为了保护重要的文件安全,我们必须给重要的文件加密。

本论文讲述了加密技术的实现。通过数据加密,人们可以有效地保证个人数据的安全,以及在通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。

1.2 主要工作

实现文件简单的加密和解密,保护数据安全。实现文件校验功能,用于验证文件的完整性和正确性。通过覆盖技术使删除的文件不可恢复,实现文件粉碎功能。设计一套完整的加密体系,在核心代码运行前优先取得程序控制权做校验工作,保护软件的安全。

1.3 本文结构

本文第一部分主要以绪论为主,说明了文章的研究背景、主要工作,概要说明了所做的工作。第二部分主要是文件加密解密的相关知识的介绍,介绍了AES算法的原理。第三部分叙述了设计的思路、重点。第四部分为设计结果及分析,将劳动成果展现给大家。第五部分为结论、致谢和参考文献,列出了文章的参考文献和引用文献,反映本文研究工作的背景和依据。

2 AES介绍

2.1 AES概述

AES是一个迭代的、对称密钥分组的加密算法,即它的加密和解密过程都使用同一个密钥。AES分组密码接受一个128位的明文,并且在一个128、192、256位秘密密钥的控制下产生一个128位的密文。它是一个替代- 置换网络的设计,并且带有一个称为轮的步骤的集合,其中轮数可以为9、11或者13(对应于128、192或者256位的密钥),这样可以将明文映射为密文。

一轮AES由下面的4步组成:

(1)字节替代(SubBytes):用一个S盒完成分组中的按字节的代换。

(2)行移位(ShiftRows):一个简单的置换。

(3)列混淆(MixColumns):一个利用在域GF()上的算术特性的代换。

(4)轮密钥加(AddRoundKey):利用当前分组和扩展密钥的一部分进行按位XOR。

每一轮分别使用它自己的128位轮密钥(round key),它是由秘密密钥通过一个称为密钥调度(key schedule) 的过程处理而产生的。不要低估一个设计合理的密钥调度方案的重要性。它把密钥的熵散发给每一个轮密钥。如果熵没有被很好地传播,就会产生各种麻烦,例如等价密钥、相关密钥以及其他类似的分别征服攻击(distinguishing attack)。

AES把128位的输入看作是一个由16个字节组成的向量,并用一个4 x4的列矩阵(big-endian)的形式来组织,叫做状态(state)。即第1个字节映射为0.0A,第3个字节映射为0.3A,第4个字节为1.0A,第16个字节映射为3.3A,如图2-1所示。

图2-1 AES的状态示意图

整个AES分组密码由下面的步骤组成:

(1)AddRoundKey(round=0)

(2)for round=1到Nr-1 (9、11或者13,这取决于密钥的大小)do

SubBytes

ShiftRows

MixColumns

AddRoundKey(round)

(3)SubBytes

(4)ShiftRows

(5)AddRoundKey(Nr)

2.2 轮密钥加(AddRoundKey)

轮函数的这一步是把轮密钥加到状态中(在GF(2)中)。它执行了16个并行的把密钥加到状态中的运算。GF(2)的加法是通过异或运算来完成的,如图2-2所示。

图2-2 AES AddRoundKey函数

其中的K炬阵是一个轮密钥并且对每一轮都有一个惟一的密钥。因为密钥的加法是一个简单的异或,所以它常实现为在32位软件中从列开始的一个32位的异或操作。

2.3 字节替代(SubBytes)

轮函数的SubBtes步骤是用来执行SPN中的非线性混清步骤的。它把16个字节的每一个都并行地映射为一个新的字节,这是通过一个两步骤的替代操作来完成的,如图2-3所示。

图2-3 AES SubBytes函数

该映射变化是一个简单的查表操作,AES定义了一个S盒,如表2.1所示,它是由16*16个字节组成的矩阵,包含了8位值所能表达的256种可能的变换。State中每个字节按照如下的方式映射为一个新的字节:把该字节的高4位作为行值,低4位作为列值,然后取出S盒中对应行列的元素作为输出。例如,十六进制值95所对应的S盒的行值是9,列值是5,S盒中在此位置的值是2A。相应地,95被映射为2A。

表2.1 AES的S盒

续表2.1 AES的S盒

S盒被设计成能防止已有的各种密码分析攻击。AES的开发者特别寻求在输入位和输出位之间几乎没有相关性的设计,且输出值不能通过利用一个简单的数学函数变换输入值所得到。当然,S盒必须是可逆的,即逆S盒[S盒(a)]=a。然而,因S盒(a)=逆S 盒(a)不成立,在这个意义上S盒不是自逆的。例如,S盒(95)=2A,但逆S盒(95)=AD。

2.4 行移位(ShiftRows)

ShiftRows这一步对状态中的每一行分别进行向左循环移动0、1、2和3个位置。它是完全线性的,如图2-4所示。

图2-4 AES ShiftRows函数

在实际应用中,我们将会看到这是通过重命名(renaming) 来实现的而不是一个实际的移动。也就是说,通过对字节移动的替代,我们只是简单地在得到它们的地方对它们进行修改就可以。在32位的软件中,我们可以很容易地把ShiftRows和SubBytes以及MixColumns混合,而不用来回交换字节。

2.5 列混淆(MixColumns)

MixColumns这一步对状态中的每一列乘上一个4*4的变换,这个变换就是所谓的极大距离可分码(Maximally Distance Separable, MDS)。这一步的目的是扩大差别并且让输出线性依赖于其他输人。即如果一个单一的输入字节在两个明文中发生了改变(输入中所有其他的字节没变),这个改变将尽可能快地传播到状态中的其他字节中去,如图2-5所示。

图2-5 AES MixColumns

列混淆变换和行移位变换使得在经过几轮变换后,所有的输出位均与所有的输入位相关。

2.6 密钥调度(Key Schedule)

密钥调度是负责把输人的密钥转化成所需的Nr+1个128位轮密钥。图2-6中的算法将计算轮密钥。

图2-6 AES密钥调度

密钥调度还需要两个额外的函数。SubWord()的输人为32位并且并行地把每个字节发送给AES的SubBytes替代表中。RotWord()把字向右循环移动8位。Rcon表是一个数组,它只存储了多项式g(x)=x的前10个幕模AES多项式的最高字节。

3 系统设计

3.1 设计概述

此次毕业设计采用的开发工具是Visual Studio 2010,所选用的开发语言是C++,软件名称为:文件管家。

目前网络上,文件加密与解密的软件比较多,功能也比较强大,之所以会选择“实现文件简单的加密和解密”这个题目,并且去设计一款这方面的软件,主要有两方面原因:一是因为一直对信息安全比较感兴趣,也杂七杂八的看过一些这方面的资料,想通过这次毕业设计,学以致用;二是因为之前用过一些文件加解密的软件,但是感觉操作比较复杂,当然它们的功能都比较强大,但作为普通用户,我们可能并不需要那么强大而复杂的功能,所以这次毕业设计,想在用户体验上下一些功夫,设计一款能够满足我们日常需要的文件加解密软件。总体的设计思路是:既要保证文件的安全性,也要兼顾用户体验,避免繁琐的操作。

本次毕业设计的核心内容分为两部分,一部分是文件加密,作为一款文件加密软件,最主要的内容就是文件加密的安全性,即采用这款软件加密后的文件,会不会被人轻易解密;另一部分是软件安全,我们知道,软件的开发流程是编辑、编译、调试,然后就是发布可执行文件。可执行文件对一般用户来说,就是一个小程序,但是对于一些别有用心的人,它不仅是一个小程序,它还是程序的源码,他能够把可执行文件还原为源文件,这样我们程序里的算法就被他一览无余,所以我们在发布之前还需要对可执行文件做一些工作,来保护软件的安全性,由其我们这是一款加密软件,在保护文件安全的同时,也要做好自身的防护工作。

3.1.1 界面设计

界面主体采用选项卡设计,共有3个选项卡,分别是加密、解密和工具箱。加密选项卡用于完成文件加密,解密选项卡用于完成文件解密,工具箱选项卡包含文件校验和文件粉碎两个界面。

3.1.2 实现代码设计

加解密程序,采用AES算法。文件校验,采用MD5算法。文件粉碎,删除文件之后,会用空数据或随机数据多次覆盖在原数据上,保证删除之后的文件不能被还原。

软件安全:第一次使用,需要输入注册码(输入后保存到配置文件里)。每次运行软件前,根据注册码生成一个key(算法不可逆),用key解密核心代码(算法可逆),解密后根据核心代码生成一个校验码(算法不可逆),与存在程序里的校验码比较,不正确提示并退出程序,正确则进入程序。

3.1.3 操作流程

第一次运行程序,需要以管理员身份运行程序,完成修改注册表和生成配置文件的功能。再次运行程序,需要输入注册码,正确则保存注册码到配置文件并进入程序,不

正确则不保存注册码并提示退出程序。

加密:鼠标右键单击需要加密的文件,资源管理器菜单会出现“文件管家”的选项,点击即会出现文件加密对话框,输入加密密码和确认密码,点击加密,即可完成加密操作。需要注意的是,执行加密操作默认删除源文件,可以在点击加密之前,去掉“加密后,删除源文件”前面的勾,则不会删除源文件。

解密:加密完成后,文件后缀变为MYFM(MyFileManager的缩写),加密后的文件图标会被换成“文件管家”的LOGO。要解密的时候,直接双击该文件,默认用文件管家打开,输入密码即可完成解密操作。

总体来看,程序操作简洁,用户体验比较好。

3.2 界面设计

运行VS2010,创建一个MFC项目,命名为:文件管家。项目建好后,将默认对话框作为加密解密工具的主界面。在主界面添加一个Tab Control,需要三个选项卡,分别是:加密、解密和工具箱,下面分别对这三个选项卡做详细的设计,设计时要用到vs2010里工具箱的工具。详细设计如下:

3.2.1 LOGO设计

图3-1 LOGO

采用黑色主元素,黑色代表未知,即加密后文件比较安全,如图3-1所示。

3.2.2 加密选项卡的设计

图3-2 加密选项卡属性设置

建立一个对话框资源,Style属性设为Child,Border属性设为None,如图3-2所示。解密选项卡和工具箱选项卡同加密选项卡。

图3-3 加密选项卡界面设计

加密选项卡最上面是一个不可读的Edit Control,用来显示需要加密文件的文件名,因为文件名不需要更改,所以这里设置Edit Control的Disabled为True。在加密时需要输入加密密码,为了避免因用户按错键而导致密码不正确,这里需要输入确认密码。接着是一个Check-box Control,用来选择加密后是否删除源文件,默认删除源文件。最后是两个Button Control,分别为:加密和取消。点击加密,则执行加密操作;点击取消,则放弃加密操作,并退出程序,如图3-3所示。

3.2.3 解密选项卡的设计

图3-4 解密选项卡界面设计

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号: 208

指导教师:张鑫 2014年7 月 1日 目录 一、系统开发的背景................................. 错误!未定义书签。 二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。 三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。 (三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。 四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。 五、总结........................................... 错误!未定义书签。 六、附件(代码、部分图表) ......................... 错误!未定义书签。

如何给word文档加密和解密

如何给WORD文档加密 如果Word文档不希望别人随便查看,可以通过添加打开密码来实现(当然这并不是绝对安全的)。为Word文档添加密码,给Word文档加密主要有以下几个方法: 文件加密文件菜单设置: 如果您使用的是Office word2003: 方法一: 启动Word2003(其他版本操作相似,下同),打开需要加密的文档,执行“工具→选项”命令;如下图 2、在弹出的“选项”中,选择“安全性”,然后在“打开文件时的密码”后面输入密码(一定要牢记密码哦);如下图

3、单击确定按钮后会再次提示你确认密码;再次输入刚才的密码,然后确定,加密即可成功(注意:经过加密设置后,以后需要打开该文档时,需要输入正确的密码,否则文档不能打开)。如下图

方法二:在对新建文档进行“保存”或对原有文档进行“另存为”操作时,打开“另存为”对话框。单击工具栏上的“工具”按钮,在随后弹出的下拉列表中,选“安全选项”,打开“安全选项”对话框,在“打开文件时的密码”右侧的方框中输入密码,按下确定按钮,再确认输入一次密码,确定退出,然后保存当前文档即可。 如果您使用的是Office word2007 Office Word2007无论是在界面上,还是操作上,以我们用习惯了的Word2003不大一样了。Word2007就也有有两种方法可以实现: 方法一: 1、打开文档,同样“Office按钮”,然后选择“另存为”,然后在保存文档副本中选择“Word文档”;如下图

2、在“另存为”对话框中单击下面的“工具”按钮,在下拉菜单中选择“常规选项”;如下图

3、在弹出的“常规选项”对话框中可以任意给Word文档加密。如下图

密码学课程方案AES加密解密文档

个人资料整理仅限学习使用 成都信息工程学院课程设计报告 AES加密解密的实现 课程名称:应用密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: 年月日

个人资料整理仅限学习使用 附件:课程设计成绩评价表

个人资料整理仅限学习使用目录

1.背景 AES,密码学中的高级加密标准

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

文件加密系统课程设计

仲恺农业工程学院课程设计 文件加密 姓名孙浩斌 院(系)信息科学与技术学院 专业年级计算机132 学号 指导教师罗慧慧 职称学生 起止时间2015-6-15至2015-6-24 仲恺农业工程学院教务处制 目录

一.课程设计目的和要求 设计目的 有时我们有些资料不希望别人看到,最常用的方法就是加密。对给定的相关文件进行加密可以对文件进行保护,可以防止某些重要信息不被别人所知道甚至窃取。对文件起到保护作用,可以方便用户使用某些只有自己能知道的信息,能够安全保护文件的相关内容几信息不被外流。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。通过课程设计,使学生了解高级程序设计语言的结构,逐渐培养学生的编程能力、用计算机解决实际问题的能力,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试程序及编写设计报告。

本课程设计的目标: 1. 巩固《高级语言程序设计》课程学习的内容和加深学生对基本知识的理解和掌握。 2. 掌握编程和程序调试的基本技能。 3. 掌握软件设计的方法。 4. 提高运用程序设计解决实际问题的能力。 5. 培养独立思考、综合运用所学有关相应知识的能力。 6. 强化上机动手编程能力,闯过理论与实践相结合的难关! 设计要求 1. 分析课程设计题目的要求,根据所要求的程序功能,画出程序的流程图。 2.对系统功能模块进行分析,写出详细设计说明文档。 3.对程序源代码进行调试与测试,使其能正确运行。 4.设计完成的软件要便于操作和使用。 5.设计完成后提交课程设计报告。 设计意义 至今,密码技术是取得信息安全性最有效的一种方法, 密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。

DES加密解密课程设计报告

D E S加密解密课程设计报 告 Prepared on 22 November 2020

成都信息工程学院课程设计报告 DES算法加密与解密的设计与实现课程名称:密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: XX年 XX 月 XX 日

目录

1背景 DES算法概述 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN 码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速

文件的加密解密压缩和压缩文件密码的管理

日常生活中我们通常会分享一些个人视频,但处于隐私考虑,我们会想到给文件加密,嗯,不错,但是我们常用的的视频格式是不支持文件加密的,怎么办?看到网上一些网站有时分享软件时会将软件打包成RAR或ZIP压缩格式并加密,只有访问网站源地址才能获得密码,即提高了网站访问量又将一些不太好找的软件分享给大家。那么我们就依照这个思路用压缩软件压缩视频并加密后上传到各大网盘分享给朋友,这样不仅间接的将视频进行了加密,保护了我们的个人隐私,更是将较大的视频文件批量的进行了分享。但很多人只进行过文件的解压/压缩,并不知道如何加密或者是并不会进行灵活的加密密码管理,这里笔者就像大家介绍一下如何给文件加密压缩并管理密码。 一般的常规方法是选定要压缩的文件并右击,在弹出的菜单中选择“添加到压缩文件” 弹出压缩选项,1.选定压缩格式 2.点击“设置密码”在这里笔者要说一下,如果选定RAR格式,在解压或打开时不会显示包内文件名,而选定ZIP格式,在解压或打开时会显示包内文件名,所以笔者建议大家如果对文件的保密程度要求较高那么就选RAR格式,因为ZIP格式不支持文件名加

密。 设置好密码点击“确定” 等待文件压缩好,这样就完成了文件的压缩加密

当然,我们有时要对没有加密的压缩文件设定密码,需要注意的是下列方法需要使用好压软件,并且文件格式为ZIP(RAR文件不支持),笔者上述使用的WINRAR无法进行下列操作,大家需要用好压进行操作。 先打开这个压缩文件,点击“文件”-“密码” 弹出窗口后选择“密码”选项卡,点击“设置新的密码”设置好密码然后点击“确定”即可

如果你想把压缩包中的密码清除掉,则选“清除已有密码”,然后点“确定”,会弹出提示让你输入之前设置的密码,输入后确定即可清除掉密码 下面笔者再介绍一下在WINRAR中的文件压缩密码管理 首先打开WINRAR,然后选择“选项”-“设置”

c语言课程设计-文件加密解密(含源代码)

C 语 言 课 程 设 计 实 验 报 告 实验名称:文件加密解密 院系:软件学院 学号: 日期:2012年9月3日—9月17日

一:设计题目 1:设计图形用户界面。 2:对文件进行加密并对加密文件进行保存。 3:对加密了的文件进行解密。 二:设计过程 设计过程中遇到的困难和解决方法: 1:不能很好地理解题意(通过老师的讲解)。 2:不知道如何设计加密解密程序(通过翻阅书籍和上网查找资料) 过程: 首先通过学习老师提供的资料了解大致的设计过程并懂得运用一些以前没有学习过的c语言。先利用文本文件设计出加密解密的主要过程并能运行。知道如何运用fopen将原文件打开并用fread将原文件内容读出来,然后进行加密设计并将加密的数据用fwrite写进指定的文件中并保存。然后读出加密的文件并解密并保存。最后在写出的程序中加入图形用户界面,运用window,box,gotoxy等进行设计。 三:源代码 #include /* 标准输入、输出函数 */ #include /* 标准库函数 */ #include //*字符串处理函数 */ #include /* 字符操作函数 */ #include #include #define key_down 80 #define key_up 72

#define key_esc 1 #define key_enter 28 #define SIZE 1 void box(int startx,int starty,int high,int width); int get_key(); char buf[20*20*4]; /*///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////加密解密 */ void fun(char *list,char *sd) /*加密过程*/ { FILE *fp1,*fp2; char buf[1000]; /*文件临时存放处*/ register int ch; fp1=fopen("e:\list.txt","r"); /*用可读方式打开文件*/ fp2=fopen("e:\sd.txt","w"); /*用可写方式创建一个文件*/ if(fp1==NULL) { printf("cannot open file\n"); exit(1); } if(fp2==NULL) { printf("cannot build file\n"); exit(1); } ch=fgetc(fp1); /*读出打开文件的光标处的一个字符*/ while(!feof(fp1)) /*读出的字符不是最后的字符*/ { ch=ch<<1; /*加密方法*/ fputc(ch,fp2); /*加密的字符存放在指定的地方*/ ch=fgetc(fp1); } rewind(fp2); /*将光标移动到第一个字符前面*/ fread(buf,sizeof(buf),1,fp2); /*从文件的当前位置开始中读取buf中存放的数据*/ printf("%s",buf); /*fclose(fp1); fclose(fp2); */ }

常见格式文件的加密和解密

常用格式文件的加密解密方法 庆云县水务局项目办 二〇一二年五月二十三日

目录 0、引子 1 1、新建word文件的加密方法1 1.1任务1 1.2基本步骤1 1.3示范1 2、原有word文件的加密方法4 3、Excel文件的加密方法 4 3.1任务4 3.2基本步骤4 3.3示范4 4、CAD文件的加密方法 5 4.1任务5 4.2基本步骤6 4.3示范6 5、文件的解密方法8 5.1任务8 5.2基本步骤8 5.3示范8

0、引子 我们的日常工作,往往是处理一些文字、表格和图纸。最常用的文件格式有word、excel和CAD。怎样加密、解密这些格式的文件,是我们常遇到的问题。由于文件的加密、解密方法大致一样,所以,这里只介绍这三种文件的加密解密方法。其它格式的文件加密解密,可以参照进行。 加密解密文件需要知道文件格式的后缀名,后缀名又称文件扩展名,是操作系统用来标志文件格式的一种机制。通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。如文件名“readme.txt”中,readme是主文件名,.txt为扩展名,表示这个文件被认为是一个纯文本文件。常见文档类型及其后缀名和打开方式详见下表。 常见文档类型及其后缀名和打开方式: 1、新建word文件的加密方法 1.1任务 对新建word文档1(未曾保存)进行加密 1.2基本步骤 ①打开菜单“文件”→②点击“另存为”选项→③点击“工具”按钮→④选定“安全措施选项(C)”→⑤输入密码→⑥确定→⑦再次输入密码→⑧确定→⑨保存。 1.3示范 ①打开菜单“文件”:点击菜单栏最左侧的“文件”按钮,弹出“文件”下拉列表; ②点击“另存为”选项:点击“文件”下拉列表的“另存为”选项,弹出“另存为”对话框,如图1所示。

java文件加密课程设计

结业报告 课程名称:网络安全技术 设计题目:java实现文件加密 系别:***学院 专业:*************** 组员:**************************起止日期***************** 指导教师:***

摘要 目前世界范围内的信息安全问题越来越严重。解决信息安全问题涉及面很广,它包括技术,管理.制度,人员和法律等诸多方面,但最核心部分是密码技术。密码技术是实现一种变换,它使得对大量信息的保护变为对少量密钥的保护。 本次结业设计以文件的加密与解密问题为主要研究讨论方向。先对加密技术进行查找资料。然后对加密方法进行概述,而后对3DES加密进行详细介绍何分析,并对结业设计成果进行演示,最后附上代码。由于本次结业设计时间仓促外加能力有限,有诸多不足之处以及可能存在某些为发现错误还请批评指正。感谢之至。 关键词:加密解密密钥 3DES Abstract At present, the problem of information security is more and more serious in the world. To solve the problem of information security involves a wide range, including technology, management, system, personnel and law, etc., but the most important part is the password technology. Password technology is to achieve a transformation, which makes the protection of a large number of information into a small number of key protection. The graduation project to document encryption and decryption issues as the main research and discussion. First, the encryption technology to find information. Then the encryption method is outlined, and then the 3DES encryption for detailed analysis, and the completion of the design results are demonstrated, and finally attached to the code. Due to the limited capacity of the completion of this graduation project, there are many deficiencies and there may be some to find errors also please criticism. Thanks to.

已加密的pdf文件的解密方式 及去水印方式

已加密的pdf文件的解密方法 默认分类 2009-11-29 18:00:32 阅读2099 评论2 字号:大中小订阅 前言:因为现在网络上下载的PDF文件很多都带有安全性设置,通常的安全设置有:文档打印不允许、更改文档不允许、内容复制或提取不允许等等。在实际运用中,我们通常需要把PDF文件导出,保存为DOC文件(Word文件),并对其内容进行复制、修改等编辑操作;或者打印这类PDF文件;又或者无法删除其中文件中的水印标志。 下面就如何解决以上问题给予操作指导。听我慢慢道来。 电脑破解环境准备:电脑上必须装有Adobe Acrobat 7.0 Professional 软件(记得不是Adobe Reader哦!!),解压后的文件大小估计在200多M,这个软件网络上很多地方有下载,如何你是公司用户,服务器上就有,直接安装即可,如提示升级,请取消,至 于原因,你我都明白。 1、如何破解PDF文件,解除所有安全设置,让那些个不允许见鬼去吧!! 步骤一:下载PDF Password Remover软件,并安装,需要有注册码,本人测试的 是使用3.0的版本。 软件界面如下: 步骤二:通过PDF Password Remover软件将破除PDF文件安全密码; 破解前,PDF文件的安全性,如图:

破解过程, 如图:

相信你看到这一步,已经让你兴奋不已了吧!!! 如果你的PDF文件,没有设置水印等问题,到这一步基本上就可以了,因为到这一步基本上可以满足你提取和打印的基本功能了。 2、如何去掉水印? 现在很多的商业味道很浓的PDF文件,一般都喜欢设置水印,以此来标注版权或出处,如果结合了安全性设置,打印出来的文件也同时带有水印,这样严重影响了阅读,还无偿给别人打了广告,既然是这么“流氓”的行径,那我们没有理由不解决它,你说对不对? 解除水印一般由两种方法: ①删除法:优点:直接删除水印,简单且便于后期编辑和处理。缺点:虽然PDF 支持批量每页添加水印,但可惜的是,要删除水印,却要一页一页地删除。网络上的朋友也有说到,删除了第一页的水印,就删除了所有的水印。这种情况,没有在我测试的PDF 文件中遇到,估计是个别文件情况,我这里就不多研究了。目前为止,我了解的情况是,还没能批量删除水印,不过,我们会不断了解这方面的技术进度,有好的消息,我们会及 时告诉大家。

DES加密解密课程设计报告

D E S加密解密课程设计 报告 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

成都信息工程学院课程设计报告 DES算法加密与解密的设计与实现课程名称:密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: XX年 XX 月 XX 日

1背景 1.1 DES算法概述 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速度快,密钥容易产生,适合于在大多数计算机上用软件快速实现,同样也适合于在专用芯片上实现。 1.2 DES算法描述 DES算法的加密过程首先对明文分组进行操作,需要加密的明文分组固定为64比特的块。图1-1是DES加密算法的加密流程。图1-2是密钥扩展处理过程。 图1-1DES加密算法流程 图1-2子密钥产生流程 2系统设计 2.1系统主要目标 (1)用C++设计一个DES加密/解密软件系统; (2)完成一个明文分组的加解密,明文和密钥是ASCII码,长度都为8个字符,输入明文和密钥,输出密文,进行加密后,能够进行正确的解密; (3)程序运行时,要求输出第15、16轮的密钥,以及第15、16轮加密或解密之后的值,16进制表示; (4)程序有良好的人机交互操作; (5)要求从两个文件分别读取明文和密钥,并在程序中输出明文及密钥; (6)要求提供所设计系统的报告及完整的软件。 2.2系统运行环境

文本的加密与解密课程设计说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2014年春季学期 工程开发综合训练课程设计 题目:文本文档的加密与解密 专业班级: 计算机科学与技术11级4班 姓名:张有刚 学号: 11240417 指导教师:刘树群 成绩:

目录 摘要 (1) 1。问题描述 (2) 2。系统设计 (3) 3。系统实现 (5) 4.系统测试 (8) 5。总结 (13) 参考文献 (13)

摘要 随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生.文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等.但是这些算法虽然原理简单,但具体实现起来却非常繁琐复杂,故而本程序设计对文件的加密使用的是最基础的异或加密算法。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。Java是一门很优秀的编程语言,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一次写成,处处运行”的特点,所以,Java已经成为网络时代最重要的编程语言之一。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。 使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善, 满足了用户对文件安全性的需求. 关键词: JAVA ,加密,解密

1.问题描述 本设计要求学生开发一个在Windows操作系统下,利用DES加密算法,开发出一款能够对文本信息进行加密与解密的软件。通过对文本信息特点的分析,设计出相应的DES加密算法,同时,根据DES加密过程设计出解密算法,画出相应的流程图,实现对文本文件的加密和解密,写出软件说明书,并提出日后的升级维护意见。 此外,学生通过该题目的设计过程,可以初步应用软件系统的开发原理和开发方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的训练,提高解决实际问题的能力。 (1)用图形用户界面实现软件界面,整体布局合理,美观大方。 (2)用56位秘钥对文本进行加解密。 (3)能够对一般的文本文件包括扩展名为doc和txt的文件进行直接加解密。(4)能够实现对中英文文本的加解密。 (5)系统的开发可以采用Java或C++等编程语言来实现; (6)在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。

加密解密课程设计

兰州商学院陇桥学院 工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号:20120651208 指导教师:张鑫 2014年7 月1日

目录 一、系统开发的背景 (1) 二、系统分析与设计 (1) (一)系统功能要求 (1) (二)系统模块结构设计 (2) 三、系统的设计与实现 (2) (一)图形用户界面模块 (2) (二)加密操作模块 (3) (三)解密操作模块 (4) (四)文件保存模块 (4) (五)文件选择模块 (5) 四、系统测试 (6) (一)测试加密 (6) (二)测试选择加密文件 (6) (三)测试生成加密文件 (6) (四)测试浏览加密文件 (7) (五)测试解密文件 (8) 五、总结 (8) 六、附件(代码、部分图表) (10)

加密与解密 一、系统开发的背景 随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,本程序设计对文件的加密使用的是最基础的异或加密算法。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。 二、系统分析与设计 (一)系统功能要求 可以采用图形用户界面,给定任意一个文本文件,进行加密,生成另一个文件,然后对加密后的文件还原。 1、向图形用户界面中添加组件; 2、设置各个组件的布局; 3、添加窗口事件; 4、查找读入及写入文件,并显示; 5、加密功能实现; 6、解密功能实现;

如何给word文档加密和解密(仅供参考)精品

【关键字】情况、方法、文件、快速、执行、安全、需要、方式、关系、设置、保护、支持、实现 如何给WORD文档加密 如果Word文档不希望别人随便查看,可以通过添加打开密码来实现(当然这并不是绝对安全的)。为Word文档添加密码,给Word文档加密主要有以下几个方法: 文件加密文件菜单设置: 如果您使用的是Office word2003: 方法一: 启动Word2003(其他版本操作相似,下同),打开需要加密的文档,执行“工具→选项”命令;如下图 2、在弹出的“选项”中,选择“安全性”,然后在“打开文件时的密码”后面输入密码(一定要牢记密码哦);如下图 3、单击确定按钮后会再次提示你确认密码;再次输入刚才的密码,然后确定,加密即可成功(注意:经过加密设置后,以后需要打开该文档时,需要输入正确的密码,否则文档不能打开)。如下图 方法二:在对新建文档进行“保存”或对原有文档进行“另存为”操作时,打开“另存为”对话框。单击工具栏上的“工具”按钮,在随后弹出的下拉列表中,选“安全选项”,打开“安全选项”对话框,在“打开文件时的密码”右侧的方框中输入密码,按下确定按钮,再确认输入一次密码,确定退出,然后保存当前文档即可。 如果您使用的是Office word2007 Office Word2007无论是在界面上,还是操作上,以我们用习惯了的Word2003不大一样了。Word2007就也有有两种方法可以实现: 方法一: 1、打开文档,同样“Office按钮”,然后选择“另存为”,然后在保存文档副本中选择“Word文档”;如下图 2、在“另存为”对话框中单击下面的“工具”按钮,在下拉菜单中选择“常规选项”;如下图 3、在弹出的“常规选项”对话框中可以任意给Word文档加密。如下图 方法二: 1、打开文档,单击Office按钮,选择“准备”,在弹出菜单中选择“加密文档”;如下图 2、此时,会弹出一个“加密文档”的对话框,“对此文件的内容进行加密”,输入你想加入的密码即可,然后将设置好密码的文档保存起来即可。如下图注意: ①对文档启动强制保护后,如果试图对文档进行编辑操作时,在状态栏会出现“不允许修改,因为此文档已经锁定”的提示。 ②如果需要解除锁定,请执行“工具→取消文档保护”命令,输入正确的密码,确定即可。

文本文档的加密与解密课程设计说明书

******************* 实践教学 ******************* 理工大学 计算机与通信学院 2014年春季学期 工程开发综合训练课程设计 题目:文本文档的加密与解密 专业班级:计算机科学与技术11级4班 姓名:有刚 学号: 11240417 指导教师:树群 成绩:

目录 摘要 (1) 1.问题描述 (2) 2.系统设计 (3) 3.系统实现 (4) 4.系统测试 (8) 5.总结 (13) 参考文献 (14)

摘要 随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。但是这些算法虽然原理简单,但具体实现起来却非常繁琐复杂,故而本程序设计对文件的加密使用的是最基础的异或加密算法。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。Java是一门很优秀的编程语言,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一次写成,处处运行”的特点,所以,Java已经成为网络时代最重要的编程语言之一。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。 使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善, 满足了用户对文件安全性的需求。 关键词: JAVA ,加密,解密

1.问题描述 本设计要求学生开发一个在Windows操作系统下,利用DES加密算法,开发出一款能够对文本信息进行加密与解密的软件。通过对文本信息特点的分析,设计出相应的DES加密算法,同时,根据DES加密过程设计出解密算法,画出相应的流程图,实现对文本文件的加密和解密,写出软件说明书,并提出日后的升级维护意见。 此外,学生通过该题目的设计过程,可以初步应用软件系统的开发原理和开发方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规书写的能力,得到软件工程的训练,提高解决实际问题的能力。 (1)用图形用户界面实现软件界面,整体布局合理,美观大方。 (2)用56位秘钥对文本进行加解密。 (3)能够对一般的文本文件包括扩展名为doc和txt的文件进行直接加解密。(4)能够实现对中英文文本的加解密。 (5)系统的开发可以采用Java或C++等编程语言来实现; (6)在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。

单片机电子密码锁课程设计

基于单片机的电子密码锁设计 一、设计要求和条件 1.1 设计要求 根据单片机开发板所提供的元件特性和硬件电路,编写相关的程序,通过实验开发板实现电子密码锁在LCD1602上显示的功能。 1.搭建proteus仿真电路图平台,模拟单片机要实现的功能; 2.焊接单片机系统开发板; 3.编写程序,实现密码锁相关功能; 4.下载并调试程序,实现密码锁的具体功能。 1.2 设计目的 1.熟练掌握KEIL软件的使用方法; 2.熟练掌握PROTEUS软件的使用方法; 3.掌握单片机I/O接口的工作原理; 4.掌握中断系统的工作原理; 5.掌握液晶LCD1602的工作原理及编程方法; 6.掌握蜂鸣器的编程使用; 7.掌握行列式键盘的工作原理及编程使用方法; 8.掌握单片机的ISP下载使用方法。 1.3 功能概述 本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了硬件设计方案、软件流程图、C 语言源程序及详细注释等内容,由于单片机实验板上的矩阵键盘为3*3的,则规定0-5号键为数字键,6-8号键为功能键,其中该密码锁的具体功能介绍如下: (1)按“8”号键则输入密码,初始密码为012345,在LCD1602上显示密码值为“******”(密码是保密的),输完6位后键盘就锁定,在LCD1602上显示密码是否正确,若输入的密码长度小于6位,则1602等待密码输入。 (2)若密码输入正确后,则绿色的发光二极管亮表示开锁,并且1602上显示“you are right!”,等待是否修改密码。

(3)密码输入错误时显示“code is wrong”,接着会给你第二、第三次机会输入密码,如果三次密码都错误时,发出“叮咚”的报警声,且红色报警指示灯不停闪烁,按复位键清除报警。 (4)按“7”号键表示若密码不小心输入时,可以删除输入错误的密码。 (5)按“6”修改密码,要求输入原密码是正确的,然后按该键后,蓝色密码修改指示灯会亮,并且1602上会显示“Input new code”,输入正确要求再次输入,两次输入一致提示“Modify right!!!”并返回主菜单。两次不一致时提示“Modify error!!!”,然后返回主菜单。 二、硬件设计方案的论证 本系统整体主要划分为五大模块,分别是由单片机最小系统、矩阵键盘、LCD显示、报警系统、指示灯电路等组成。单片机系统主要功能是对外部输入的数据进行处理,显示电路将所要操作的步骤显示出来,指导用户使用,报警电路是对输入错误密码时的警告报警。系统能完成开锁、密码输入错误报警、密码删除、修改用户密码基本的密码锁的功能。若依据实际的实验板情况还可以添加遥控和掉电保护功能。 2.1 总体方案设计 本设计的具体总模块设计方案如下图(1)所示 图(1)硬件总方案模块框图 2.2 具体模块方案的设计 1.主控芯片的方案选择 方案一:采用硬件电路进行电子密码锁设计,比如使用 74LS112 双

相关文档
最新文档