资源简介
用维吉尼亚密码实现控制台对文件的加解密 形式:
cipher -e/-d key inputfile outputfile
代码片段和文件信息
#include
#include
#define MAX_LEN 100
//加密函数
char* Encryption(char Text[]char Key[]char cipherText[]int textLen){
int i;
for (i=0;i {
if (*(Text+i)>=‘a‘)
{
*(cipherText+i)=((*(Text+i)-‘a‘)+(*(Key+i)-‘a‘))%26+‘a‘;
}else if (*(Text+i)<=‘Z‘)
{
*(cipherText+i)=((*(Text+i)-‘A‘)+(*(Key+i)-‘a‘))%26+‘A‘;//秘钥只能为小写字母组成
}
}
//转换大小写
for (i=0;i {
if (cipherText[i]>=‘a‘&&cipherText[i]<=‘z‘){
cipherText[i]-=32;
}
else if (cipherText[i]>=‘A‘&&cipherText[i]<=‘Z‘)
{
cipherText[i]+=32;
}
}
}
//解密函数
char* Decryption(char Text[]char Key[]char cipherText[]int cipherLen){
int i;
for (i=0;i {
if (*(cipherText+i)>=‘a‘)
{
if((*(cipherText+i)-‘a‘)-(*(Key+i)-‘a‘)<0){
*(Text+i)=(26+((*(cipherText+i)-‘a‘)-(*(Key+i)-‘a‘))%26)+‘a‘;
}else{
*(Text+i)=((*(cipherText+i)-‘a‘)-(*(Key+i)-‘a‘))%26+‘a‘;
}
}else if (*(Text+i)<=‘Z‘)
{
if((*(cipherText+i)-‘A‘)-(*(Key+i)-‘a‘)<0){
*(Text+i)=(26+((*(cipherText+i)-‘A‘)-(*(Key+i)-‘a‘))%26)+‘A‘;
}else{
*(Text+i)=((*(cipherText+i)-‘A‘)-(*(Key+i)-‘a‘))%26+‘A‘;
}//秘钥只能为小写字母组成
}
}
//转换大小写
for (i=0;i {
if (Text[i]>=‘a‘&&Text[i]<=‘z‘){
Text[i]-=32;
}
else if (Text[i]>=‘A‘&&Text[i]<=‘Z‘)
{
Text[i]+=32;
}
}
}
//明密文处理函数(去掉空格和标点符号)
char* chuliText(char text[]){
int ik;
//剔除标点符号和空格
for (i=0k=0;text[i]!=0;i++)
{
if ((text[i]>=‘a‘&&text[i]<=‘z‘)||(text[i]>=‘A‘&&text[i]<=‘Z‘))
{
text[k]=text[i];
k++;
}
}
text[k]=‘\0‘;
return text;
}
int main(int argcchar *argv[]){
FILE *fp;
char plainText[MAX_LEN]={0}key[MAX_LE
- 上一篇:Gabor滤波器纹理特征提取
- 下一篇:电梯仿真.zip
相关资源
- 操作系统c语言模拟文件管理系统844
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- VC++ 多线程文件读写操作
- 文件传输和聊天程序(c语言实现)
- C语言中 文件读取和写入的详细操作代
- 基于STM32F407ZG的监控摄像头及FATFS文件
- 51单片机protues文件(KST-51.DSN)
- PE文件操作代码
- 基于CS的TCP文件传输程序设计
- windows网络编程_文件传输
- c语言实现火车订票系统(控制台)源
- 微型文件系统源码(FatFs)
- diy写字机grbl v1.1源代码
- 校园闲置物品管理系统.c(控制台)
- 职工信息管理系统源码(控制台)
- Hex文件转bin文件
- stm32 实现Fatfs对U盘文件操作(main.c)
- c++ 文件操作(读取、写入)
- C语言推箱子win控制台
- C++餐饮管理系统源码(控制台)
- C++通讯录管理系统源码(控制台)
- 简单职工管理系统(控制台源码+txt数
- C++商店收银系统(控制台)
- c++ 扫雷游戏源码(控制台)
- 俄罗斯方块(c++控制台代码)
- dll依赖文件检测工具
- 五子棋游戏源码(控制台)
- C++贪吃蛇控制台小游戏代码
- 五子棋c++控制台代码
评论
共有 条评论