数据的加密与解密
- 格式:doc
- 大小:330.00 KB
- 文档页数:17
数据加密与解密技术数据加密和解密技术在当代信息安全领域中具有重要的地位和作用。
随着互联网和数字化时代的到来,个人和组织存储和传输的数据日益增多,而数据的安全性也成为了一项紧迫的任务。
数据加密和解密技术可以有效地保护数据的机密性和完整性,防止数据在存储和传输过程中被未经授权的人或恶意攻击者访问、窃取、篡改或破坏。
一、数据加密技术数据加密技术是通过对原始数据进行加密操作,将其转化为无意义的密文,以达到保护数据安全的目的。
常见的数据加密算法有对称加密算法和非对称加密算法。
1. 对称加密算法对称加密算法是一种加密和解密使用相同密钥的加密技术。
在加密过程中,原始数据和密钥通过算法进行计算,生成密文。
而在解密过程中,密文和密钥通过相同的算法进行计算,还原为原始数据。
对称加密算法的优点是加密和解密速度快,但缺点是密钥管理困难。
常见的对称加密算法有DES(Data Encryption Standard)、AES (Advanced Encryption Standard)等。
其中,AES算法是目前应用最广泛的对称加密算法,具有高度的安全性和可靠性。
2. 非对称加密算法非对称加密算法是一种使用非对称密钥进行加密和解密的加密技术。
与对称加密算法不同的是,非对称加密算法使用公钥和私钥进行加密和解密操作。
数据发送方使用接收方的公钥进行加密,而接收方则使用私钥进行解密操作。
非对称加密算法的优点是密钥管理方便,安全性更高,但缺点是加密和解密速度相对较慢。
常见的非对称加密算法有RSA(Rivest-Shamir-Adleman)等。
RSA算法是一种基于数论的非对称加密算法,广泛应用于电子商务、电子邮件等领域。
二、数据解密技术数据解密技术是将加密后的密文还原为原始数据的过程。
解密技术需要使用与加密过程中相同的密钥进行操作。
在对称加密算法中,解密过程与加密过程是完全对称的,使用相同的密钥进行操作。
而在非对称加密算法中,解密过程需要借助私钥进行操作,只有持有私钥的接收方才能解密密文。
数据加密与解密数据加密与解密是现代信息安全领域中至关重要的一部分,它涉及保护敏感信息免受未经授权访问的风险。
通过使用加密算法,可以将原始数据转换成密文,以便只有授权的用户才能解密并查看数据的内容。
本文将介绍数据加密与解密的基本概念、常见加密算法以及其在实际应用中的重要性。
一、数据加密的基本概念数据加密是将明文数据通过一定的算法转化为密文数据的过程。
在这个过程中,密钥起着至关重要的作用。
密钥是一个特定的密码,只有持有正确密钥的人才能成功解密密文数据。
通过使用密钥,我们可以确保数据的机密性,即使在数据传输或存储过程中,未经授权的人也无法窃取或篡改数据。
数据加密的过程可以分为对称加密和非对称加密。
对称加密中,加密和解密使用相同的密钥,速度较快,但密钥的分发和管理相对复杂。
非对称加密中,加密和解密使用不同的密钥,安全性较高,但速度较慢。
常见的对称加密算法有DES、AES等,非对称加密算法有RSA、Diffie-Hellman等。
二、常见的加密算法1. DES (Data Encryption Standard)DES是一种对称密钥加密算法,它由IBM公司于1977年开发。
DES使用56位密钥对数据进行加密,加密算法中包含了16个不同的加密轮次,每个轮次都包含置换、替换和异或运算等步骤。
尽管DES算法在过去几十年中一直被广泛使用,但现在由于密钥长度较短,已经不再被认为是安全的加密算法。
2. AES (Advanced Encryption Standard)AES是一种对称密钥加密算法,它是目前公认的最安全和最常用的加密算法之一。
AES支持多种密钥长度,包括128位、192位和256位。
和DES相比,AES算法更安全、更高效,因此被广泛应用于各种信息安全场景,如互联网通信、电子商务等。
3. RSARSA是一种非对称密钥加密算法,是由Rivest、Shamir和Adleman三人于1977年共同提出的。
RSA算法使用两个密钥进行加密和解密,一个是公钥,用于加密数据,另一个是私钥,用于解密数据。
网络安全技术的数据加密与解密随着互联网的迅猛发展,数据的隐私和安全问题受到了越来越多的关注。
为了保护用户的隐私和保证数据的安全传输,数据加密与解密技术应运而生。
本文将介绍网络安全技术中的数据加密与解密原理、常见的加密算法以及应用场景。
一、数据加密与解密原理数据加密与解密是通过对数据进行编码和解码的过程,以确保数据在传输和存储过程中不被未授权的用户访问和窃取。
其基本原理是使用密钥将明文数据转换为密文,只有掌握正确密钥的用户才能对密文进行解密还原为原始的明文数据。
在数据加密与解密的过程中,对称密钥加密和非对称密钥加密是两种常见的方式。
1. 对称密钥加密:对称密钥加密是指加密和解密使用同一密钥的方式。
发送方和接收方需要事先共享相同的密钥。
在加密过程中,发送方使用密钥将明文数据转换为密文,接收方使用相同的密钥将密文解密还原为明文数据。
常见的对称密钥加密算法有DES、AES等。
2. 非对称密钥加密:非对称密钥加密是指加密和解密使用不同密钥的方式。
发送方从接收方获取接收方的公钥进行加密,接收方使用自己的私钥进行解密。
常见的非对称密钥加密算法有RSA、DSA等。
二、常见的加密算法以下介绍几种常见的加密算法及其特点:1. DES(Data Encryption Standard):DES是一种对称密钥加密算法,采用56位密钥对数据进行加密和解密。
它的特点是速度较快,适用于资源有限的环境。
然而,由于DES的密钥长度较短,已经不太能满足现代安全需求。
2. AES(Advanced Encryption Standard):AES是一种对称密钥加密算法,用于替代DES。
它支持128、192和256位密钥长度,提供更高的安全性。
由于其较高的安全性和广泛的应用性,AES已成为目前使用最广泛的加密算法之一。
3. RSA:RSA是一种非对称密钥加密算法,采用公钥和私钥的方式实现数据的加密和解密。
RSA算法的安全性基于对大质数的因数分解困难性,其秘钥长度一般为1024位或2048位。
数据库数据加密与解密的方法和工具数据加密和解密是数据库中保护数据安全的重要手段之一。
随着数据泄露事件的增加,使用适当的加密技术可以防止数据被未经授权的用户访问、修改或泄露。
本文将介绍数据库数据加密的方法和常用的加密工具,帮助读者更好地保护数据库中的敏感信息。
一、数据库数据加密的方法1.列级加密:对数据库中的特定列进行加密。
可以优先保护敏感数据,例如用户的姓名、地址或银行卡号。
这种方法较为常见,且对于查询和分析数据的性能影响较小。
2.行级加密:对数据库中的每一行数据进行加密。
这种方法可保护整行数据的安全,但由于需要对每一行进行加密和解密处理,因此对数据库性能会有较大影响。
3.表级加密:对整个数据库表进行加密。
这种方法是对表中的所有数据进行加密,可以提供更高的安全性。
但在查询和分析数据时会有较大的性能影响。
4.透明加密:在数据库引擎层面实现加密,对应用程序透明,无需修改现有应用程序。
这种方法可以最大程度地保护数据安全且不影响现有业务,但实现相对复杂。
5.应用级加密:在应用程序中实现加密,而非依赖数据库。
这种方法相对简单,但需要对所有应用程序进行修改,并无法保护数据库备份中的数据。
二、常用的数据库加密工具1.Oracle Advanced Security:Oracle数据库提供了一套完整的加密解决方案,包括网络数据加密、存储数据加密和数据库链接加密。
其强大的加密功能和灵活的配置选项使得数据加密和解密易于操作和管理。
2.MySQL Enterprise Encryption:MySQL企业版提供了一系列的安全增强功能,包括数据加密。
其支持列级加密和透明加密,可以使用对称密钥或非对称密钥进行加密。
3.SQL Server Transparent Data Encryption(TDE):SQL Server提供了透明数据加密功能,可以保护数据和备份存储在磁盘上的文件。
TDE使用数据库管理员提供的加密密钥来加密整个数据库。
数据加密与解密算法数据在今天的信息社会中扮演着至关重要的角色,可以是个人隐私,商业机密,甚至国家安全。
为了保护这些重要信息的安全性,数据加密与解密算法应运而生。
本文将探讨数据加密和解密算法的基本原理,以及一些常用的加密算法。
一、数据加密算法数据加密是将原始数据转换为加密数据的过程,以保护数据的机密性和完整性。
下面介绍几种常见的数据加密算法。
1. 对称加密算法对称加密算法使用相同的密钥对数据进行加密和解密。
加密和解密的过程都是可逆的,只要密钥相同,就可以还原原始数据。
DES(Data Encryption Standard)和AES(Advanced Encryption Standard)是对称加密算法的代表。
2. 非对称加密算法非对称加密算法使用一对密钥,分别是公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
非对称加密算法具有更高的安全性,但加密解密的过程较慢。
RSA(Rivest-Shamir-Adleman)和ECC(Elliptic Curve Cryptography)是非对称加密算法的代表。
3. 哈希算法哈希算法通过将原始数据转换为固定长度的哈希值,以保护数据的完整性。
哈希算法是一种单向函数,即无法从哈希值还原原始数据。
常用的哈希算法有MD5(Message Digest Algorithm 5)和SHA (Secure Hash Algorithm)系列。
二、数据解密算法数据解密是将加密数据还原为原始数据的过程。
解密算法需要使用相同的密钥或密钥对进行解密操作。
下面介绍几种常见的数据解密算法。
1. 对称解密算法对称解密算法使用与加密过程相同的密钥进行解密操作。
由于密钥是相同的,解密操作可以无损地还原原始数据。
DES和AES是对称解密算法的代表。
2. 非对称解密算法非对称解密算法使用与加密过程不同的密钥进行解密操作。
解密的过程需要使用私钥进行,确保只有密钥持有者能够解密数据。
RSA和ECC是非对称解密算法的代表。
数据加密和解密的工作原理一、介绍在信息时代,数据的安全性备受关注,尤其是在互联网和电子通信中。
数据加密和解密技术的出现解决了这个问题,确保只有授权的人才能访问和解读数据。
本文将深入探讨数据加密和解密的工作原理。
二、数据加密的概念数据加密是指通过某种算法和密钥将明文转换成密文的过程,从而达到保护数据不被未经授权的人访问和理解的目的。
数据加密主要使用了对称加密和非对称加密两种方式。
2.1 对称加密对称加密即密钥相同的加密和解密过程。
加密者使用密钥对明文进行加密,得到密文;解密者使用相同的密钥对密文进行解密,得到原始的明文。
常见的对称加密算法有DES、AES等。
2.2 非对称加密非对称加密使用了一对密钥,即公钥和私钥。
公钥用于加密数据,而私钥用于解密数据。
加密者使用接收方的公钥对明文进行加密,得到密文;接收方使用自己的私钥对密文进行解密,得到原始的明文。
常见的非对称加密算法有RSA、DSA等。
三、数据加密的过程数据加密的过程涵盖了几个关键步骤,具体如下:3.1 密钥的生成无论是对称加密还是非对称加密,都需要生成密钥。
对称加密使用的密钥需要事先共享给加密和解密双方,而非对称加密使用的密钥则是由加密方生成并向接收方分发其公钥。
3.2 明文的转换明文是指原始的、未经过加密处理的数据。
在加密之前,明文需要按照加密算法的规则进行转换,以便加密算法能够正确处理。
3.3 加密算法的运算加密算法是对转换后的明文进行处理的数学公式或算法。
根据选择的加密算法不同,加密过程也会有所区别。
3.4 密文的生成加密算法运算的结果就是生成的密文。
密文是不可读的,只有拥有密钥的人才能够对其进行解密。
3.5 密文的传输和存储生成的密文可以通过网络或其他方式进行传输和存储。
由于密文是经过加密处理的,即使被截获也无法获取到原始的明文信息。
四、数据解密的概念数据解密是指通过使用密钥对密文进行处理,将其转化为原始的明文的过程。
解密操作是加密的逆过程,使用的密钥必须与加密时使用的密钥相同。
数据加密与解密数据加密与解密是信息安全领域中的重要概念。
在现代社会中,大量的敏感信息在网络中传输,因此保护这些信息的安全性就显得尤为重要。
数据加密与解密技术就是为了保护信息的安全性而设计的。
一、加密算法的基本原理加密算法基于一定的数学原理和计算方法,将原始数据通过特定的算法转换为密文,以保护数据的机密性。
加密算法可分为对称加密和非对称加密两大类。
1. 对称加密对称加密算法使用相同的密钥进行加密和解密操作。
发送方通过使用密钥对待传输的数据进行加密,接收方则使用相同的密钥对密文进行解密。
对称加密算法的优点是加密解密速度快,但需要确保密钥的安全性。
2. 非对称加密非对称加密算法使用一对密钥,一个用于加密,称为公钥,另一个用于解密,称为私钥。
发送方使用接收方的公钥对数据进行加密,只有拥有相应私钥的接收方才能解密数据。
非对称加密算法的优点是更高的安全性,但加密解密的速度较慢。
二、常用的加密算法在实际应用中,有许多常用的加密算法被广泛使用,为了保护敏感信息的安全,以下介绍几种常见的加密算法。
1. DES(Data Encryption Standard)DES是一种对称加密算法,被广泛应用于各种应用领域。
它以64位的密钥作为输入,并对64位数据块进行加密。
DES算法的弊端是密钥长度较短,存在一定的安全性问题。
2. AES(Advanced Encryption Standard)AES也是一种对称加密算法,是目前应用最广泛的加密标准之一。
AES算法支持多种密钥长度,包括128位、192位和256位。
由于AES 算法在安全性和效率方面的优势,被广泛应用于网络通信、文件存储等领域。
3. RSA(Rivest-Shamir-Adleman)RSA是一种非对称加密算法,通过使用大素数进行加密和解密操作。
RSA算法既能用于加密数据,也能用于数字签名等其他安全机制。
RSA算法相对较慢,因此通常与对称加密算法结合使用来提高性能。
数据加密和解密的工作原理数据加密和解密是信息安全领域中非常重要的技术,它们可以保护数据的机密性和完整性,防止数据被未授权的人员访问或篡改。
本文将介绍数据加密和解密的工作原理,并探讨一些常见的加密算法和解密方法。
一、数据加密的工作原理数据加密是将原始数据通过某种算法转化为密文的过程。
加密过程中使用的算法称为加密算法,而加密使用的密钥称为加密密钥。
加密算法通常是公开的,而加密密钥则需要保密。
只有使用正确的密钥才能将密文还原为原始数据。
数据加密的工作原理可以简单概括为以下几个步骤:1. 明文转化:将原始数据按照一定的规则进行处理,转化为计算机可以识别和处理的形式。
这个过程通常包括数据填充、分组等操作。
2. 加密操作:使用加密算法将明文转化为密文。
加密算法的选择很重要,不同的算法具有不同的安全性和加密效率。
常见的加密算法有DES、AES、RSA等。
3. 密文传输:将加密后的密文传输给接收方。
在传输过程中,为了保证数据的安全性,可以采用SSL/TLS等协议进行加密传输。
二、数据解密的工作原理数据解密是将密文还原为原始数据的过程。
解密过程中使用的算法称为解密算法,而解密使用的密钥与加密使用的密钥相同。
只有使用正确的密钥才能将密文解密为原始数据。
数据解密的工作原理可以简单概括为以下几个步骤:1. 密文接收:接收到加密后的密文。
2. 解密操作:使用解密算法和正确的密钥将密文还原为明文。
解密算法是加密算法的逆运算,密钥与加密使用的密钥相同。
3. 明文恢复:将解密后得到的明文按照一定的规则进行处理,恢复为原始数据的形式。
三、常见的加密算法和解密方法1. 对称加密算法:对称加密算法使用相同的密钥进行加密和解密。
常见的对称加密算法有DES、AES等。
对称加密算法具有加密速度快的优点,但密钥管理较为困难。
2. 非对称加密算法:非对称加密算法使用一对密钥,分别是公钥和私钥。
公钥可以公开,而私钥必须保密。
常见的非对称加密算法有RSA、DSA等。
数据库的数据加密与解密方法随着信息技术的快速发展,数据安全性问题也日益凸显出来。
数据库中存储的大量敏感信息经常成为黑客攻击的目标。
为了保护这些数据,数据库的数据加密与解密方法应运而生。
本文将介绍几种常见的数据库数据加密与解密方法。
一、对称加密算法对称加密算法是一种基于密钥的加密方法,使用相同的密钥进行数据的加密和解密。
常见的对称加密算法有DES、3DES、AES等。
其中,DES算法采用56位密钥,将明文分为64位的分组进行加密,得到的密文长度也为64位。
3DES算法是对DES算法的改进,采用三个密钥对数据进行加密,增加了加密的强度。
AES算法是一种高级加密标准,支持128、192和256位密钥,其加密强度更高。
在数据库中应用对称加密算法时,需要保证密钥的安全性,防止密钥被泄露导致数据的解密。
可以将密钥保存在安全的存储介质中,并限制访问密钥的权限。
此外,还可以定期更换密钥,增加破解的难度。
二、非对称加密算法非对称加密算法使用一对密钥,即公钥和私钥。
公钥可用于加密数据,私钥用于解密数据。
常见的非对称加密算法有RSA、DSA等。
相比对称加密算法,非对称加密算法具有更高的安全性。
在数据库中应用非对称加密算法时,通常使用公钥加密敏感数据,然后将加密后的数据存储在数据库中。
私钥只有数据所有者可以访问,用于解密数据。
非对称加密算法适用于小规模的数据加密,因为其加密速度较慢,数据量过大时会影响性能。
三、哈希加密算法哈希加密算法是一种将任意长度的数据映射为固定长度哈希值的算法。
常见的哈希加密算法有MD5、SHA-1、SHA-256等。
哈希值具有唯一性和不可逆性,同样的输入得到的哈希值是相同的,不同的输入得到的哈希值是不同的。
在数据库中应用哈希加密算法时,可以将用户的密码进行哈希加密后存储在数据库中。
用户验证时,将输入的密码经过哈希加密后与数据库中存储的哈希值进行比对,从而验证用户的身份。
哈希加密算法主要用于密码的存储和验证,无法实现数据的解密。
用数据加密和解密方法汇总数据加密和解密是信息安全领域中的重要概念,用于保护敏感数据免受未经授权的访问。
下面将介绍一些常见的数据加密和解密方法。
1.对称加密算法:对称加密算法使用同一个密钥进行加密和解密过程。
其中最常见的对称加密算法是DES(Data Encryption Standard)和AES(Advanced Encryption Standard)。
在DES中,数据被切分成64位的块,在每个块上应用相同的密钥进行加密和解密。
AES使用128位、192位或256位的密钥,并且在每个轮次中应用不同的变换操作。
2.非对称加密算法:非对称加密算法(也称为公钥密码算法)使用一对密钥,包括公钥和私钥。
公钥用于加密数据,而私钥用于解密数据。
最常见的非对称加密算法是RSA(Rivest-Shamir-Adleman)算法。
在RSA中,公钥由质数生成,并且其安全性基于大整数分解问题。
3.哈希函数:哈希函数是一种将输入数据映射为固定长度哈希值的加密算法。
最常见的哈希函数是MD5(Message Digest Algorithm 5)和SHA(Secure Hash Algorithm)系列。
哈希函数通常用于验证数据完整性和生成数字指纹。
由于其单向性质,哈希函数在数据加密中也被用于密码存储和身份验证。
4.数字签名:5.数字证书:数字证书是一种由第三方机构(证书颁发机构)签名的包含公钥和其他相关信息的电子文件。
数字证书用于验证公钥的真实性和完整性,并且在传输公钥时起到保护作用。
最常见的数字证书标准是X.5096.VPN加密:虚拟私人网络(VPN)是一种通过加密和隧道传输技术,将组织内部网络与互联网连接起来的安全通信方式。
VPN使用对称加密算法、非对称加密算法和数字证书等技术来加密和解密传输的数据。
7.SSL/TLS协议:SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是一种保护网络通信的加密协议。
《C语言课程设计》课程设计报告题目数据的加密与解密学号110803022姓名桂阳阳年级专业2011级通信工程指导教师蔡继盛完成日期2012 年 6 月 5 日安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University目录课程设计任务书 (3)摘要 (4)关键词 (4)原理 (4)一.系统功能分析 (5)1.1设计目的 (5)1.2功能描述 (5)二.C 语言程序编写 (6)2.1程序结构图 (6)2.2程序流程图 (6)2.3程序源代码 (8)三.程序功能示例 (13)3.1示例截图 (13)3.2测试过程 (16)四.设计体会与收获 (16)五.参考文献 (16)《C 语言程序》课程设计任务书摘要:作为保障数据数据安全的一种方式,对于信息的加密技巧起源于欧洲,最广为人知的编码机器是德国的German Enigma,在第二次世界大战中德国人利用它创建了加密信息系统,从而解决军事信息的保密通讯问题。
尽管加密技术被首先使用在军事通信领域,但是人们或许出于安全的考虑,开始逐渐对于商业机密、政府文件等重要信息实施加密手段。
数据加密应运而生。
其基本原理是:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。
该过程的逆过程称为解密,即将该编码信息转化为明文的过程。
从事数据加密研究的人称为密码编码者(Cryptographer),而从事对数据解密的专业人士称为密码分析者(Cryptanalyst)。
如今数据加密技术被广泛地应用与国民经济各个领域,特别是政府机关和国防情报部门,此外才是科学研究机关、商业部门、新闻出版、金融证券、交通管制与电力输送等部门。
而C语言程序设计教学不仅仅局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力。
C 语言程序设计教学方法的改革让学生从多角度、以多方式去了解和掌握C语言以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。
关键词:C语言,程序设计,换位法,换位位数,数据加密与解密原理:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。
;例如英文can you come here 若换位位数取4,则密文为comraueench*yoe*,*代表随机字母,如右图所示:一、系统功能分析1.1 设计目的本课程设计的目的是为了保证个人数据资料不被他人非法窃取使用,保护个人的隐私及重要文件。
1.2 功能描述本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本身的其他英文字母以达到文件加密的目的。
整个系统由以下几大功能模块组成。
1.主控选择模块此模块是主程序操作界面,供用户进行选择。
用户可选择执行加密或解密操作。
2.加密模块此模块执行加密操作,输入明文后,去除空格得s1,再判断有没有缺空格,有就补随机字母,然后按照换位位数进行加密,从而得到密文。
3.解密模块解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。
从外部文件中读入任意一个文件并将它解密并显示出来。
本次综合训练是计算机科学与技术、信息管理与信息系统、软件工程专业重要的实践性环节之一,是在学生学习完《C语言程序设计》、《数据结构》课程后进行的一次全面的综合练习。
本课综合训练的目的和任务是:1.巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握;2.掌握C语言编程和程序调试的基本技能;3.利用C语言进行基本的软件设计;4.掌握书写程序设计说明文档的能力;5.提高运用C语言、数据结构解决实际问题的能力。
二、C 语言源程序编写:2.1 程序结构图:主函数2.2 程序流程图2.3程序源代码:#include<stdio.h>#include<string.h>#define CHANGDU 1000int main( ){char *jiami(char *p,char *s1,int key); char *jiemi(char *p,char *s2,int key); int key,i,j,len;char s1[CHANGDU];char s2[CHANGDU];char xstr[CHANGDU];printf("*****************************\n");printf(" * welcome to use the system! *\n");printf("*****************************\n");printf("qing shu ru yuan shi ming wen:");gets(s2);{int m=0,i=0,t;char ch;t=strlen(s2);for(i=0;i<t;i++)if(s2[i]!=' '&&s2[i]!='\0'){ch=s2[i];s1[m]=ch;m=m+1;}ch=s2[i];s1[m]=ch;if(s1[0]>='A'&&s1[0]<='Z')s1[0]=s1[0]+32;}puts(s1);printf("qing shu ru jia mi mi yao:"); scanf("%d",&key);jiami(xstr,s1,key);printf("jia mi mi wen shi:");printf("%s\n",xstr);if(jiemi(s1,xstr,key)!=NULL){;}else{printf("NULL");}{int a;char str[CHANGDU];printf("**********************************************\ n");printf("qing shu ru jie mi mi yao:");scanf("%d",&a);getchar();printf("qing shu ru jia mi mi wen:");gets(str);if(a==key&&str[0]==s1[0]){printf("jie mi ming wen shi:");puts(s2);}}}char *jiami(char *p,char *s1,int key){int i,j,len,len1,n=0;len=strlen(s1);if((len % key)!=0)len1=len+key-(len % key);elselen1=len;for(i=len;i<len1;i++)s1[i]=(char)((rand() % 26)+(rand() % 1)*('A'-'a')+'a'); s1[len1]=0;for(j=0;j<key;j++)for(i=0;i<(len1/key);i++)p[n++]=s1[i*key+j];p[n]=0;return p;}char *jiemi(char *p,char *s2,int key){int i,j,len,n=0;len=strlen(s2);if((len % key)!=0) return NULL;len=(len / key);for(i=0;i<len;i++)for(j=0;j<key;j++) {p[n++]=s2[j*len+i]; }p[n]=0;return p;}三.程序功能示例3.1示例截图:3.2测试过程:qing shu ru yuan shi ming wen:can you come herecanyoucomehereqing shu ru jia mi mi yao:4jia mi mi wen shi:comraueenchiyoea******************************************qing shu ru jie mi mi yao:4qing shu ru jia mi mi wen:comraueenchiyoeajie mi ming wen shi:can you come here四.设计体会与收获这次C语言课程设计任务是设计一个程序解决数据的加密与解密问题,我与郭端杰同学一组,在设计源程序中,我是负责编写两个调用函数的,分别是加密函数和解密函数,搭档是负责编写主函数,在编译过程中,也遇到了不少困难和问题,像换位法加密和解密过程,到底怎样设计函数才能达到换位的要求,从而达到加密与解密的效果,在解决问题的过程中,也学会了不少知识。
五.参考文献C语言高级实例解析;清华大学出版社。
C语言程序设计习题与实验设计指导;电子科技大学出版社,编者孙淑霞,周家纪,丁照宇。
物理与电子信息学院课程设计评定意见注:本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订。