加密解密代码Word文件下载.docx

上传人:b****6 文档编号:21827715 上传时间:2023-02-01 格式:DOCX 页数:30 大小:19.11KB
下载 相关 举报
加密解密代码Word文件下载.docx_第1页
第1页 / 共30页
加密解密代码Word文件下载.docx_第2页
第2页 / 共30页
加密解密代码Word文件下载.docx_第3页
第3页 / 共30页
加密解密代码Word文件下载.docx_第4页
第4页 / 共30页
加密解密代码Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

加密解密代码Word文件下载.docx

《加密解密代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《加密解密代码Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。

加密解密代码Word文件下载.docx

;

printf("

\n请输入明文!

\n"

);

fflush(stdin);

gets(show);

shlg=strlen(show);

returnshlg;

intCreatShade(charshade[])//创建密文

inti,sdlg;

shade[i]='

\n请输入密文!

gets(shade);

sdlg=strlen(shade);

returnsdlg;

intCreatKey(charkey[])//创建密钥

inti,klg;

key[i]='

\n请输入密钥!

gets(key);

key[i]!

='

klg=i+1;

returnklg;

intCheck(charData)

if((Data<

'

A'

||Data>

Z'

)&

&

(Data<

a'

z'

))

printf("

输入不正确!

return0;

elseif(Data=='

'

{

return1;

voidEncodeCasser()//凯撒加密算法

charShow[50],Shade[50];

shlg=CreatShow(Show);

shlg;

if(Check(Show[i]))

if(Show[i]>

Show[i]<

{

Shade[i]=Show[i]-32;

}

else

Shade[i]=Show[i];

Show[i]+=32;

if(Shade[i]+17>

Shade[i]-=9;

Shade[i]+=17;

}

else

printf("

本系统不支持空格!

请重新输入!

return;

Shade[i]='

\n明文是:

%s"

Show);

\n转换后是:

%s\n"

Shade);

voidDncodeCasser()//凯撒解密算法

sdlg=CreatShade(Shade);

sdlg;

if(Check(Shade[i]))

if(Shade[i]>

Shade[i]<

Show[i]=Shade[i]+32;

Show[i]=Shade[i];

Shade[i]-=32;

if(Show[i]-17<

Show[i]+=9;

Show[i]-=17;

}

Show[i]='

\n密文是:

voidCasser()//凯撒算法

charch;

.........凯撒密码算法.........\n"

..................\n"

.........加密解密系统.........\n"

.........A.加密.........\n"

.........B.解密.........\n"

.........Q.退出.........\n"

.........加密还是解密?

.........\n"

scanf("

%c"

&

ch);

switch(ch)

case'

:

EncodeCasser();

break;

B'

b'

DncodeCasser();

default:

}

voidEncodeInverted()//字母倒排算法加密

{

Shade[i]=187-Show[i];

voidDecodeInverted()//字母倒排算法解密

Show[i]=187-Shade[i];

voidInverted()//字母倒排算法

.........字母倒排算法.........\n"

EncodeInverted();

DecodeInverted();

voidEncodeSingleForm()//单表置换密码加密

inti,shlg,klg,j,k;

charShow[50],Shade[50],Key[26];

intcnt=26;

chartemp[26];

klg=CreatKey(Key);

Show[0]);

for(i=1;

klg;

if(Check(Key[i]))

{

for(j=0;

j<

i;

j++)

if(Key[j]==Key[i])

{

for(k=i+1;

k<

k++)

{

Key[k-1]=Key[k];

}

klg--;

i--;

j=i;

}

}

for(i=65,j=0;

91;

temp[j]=i;

j++;

cnt;

i++)//cnt是

for(j=0;

if(temp[i]==Key[j])

for(k=i+1;

temp[k-1]=temp[k];

j=klg;

cnt--;

i--;

for(i=klg,j=0;

i++,j++)

Key[i]=temp[j];

}

j=Shade[i]-65;

Shade[i]=Key[j];

voidDecodeSingleForm()//单表置换密码解密

inti,sdlg,klg,j,k;

Shade[0]);

break;

j=CharAt(Key,Shade[i]);

Show[i]=j+96;

voidSingleForm()//单表置换密码

.........单表置换算法.........\n"

EncodeSingleForm();

DecodeSingleForm();

voidEncodeVictory()//维吉利亚密码加密算法

charKey[26];

charData[50];

charShade[50];

//存取密文

intklg,dlg,i,j;

inttemp1[50],temp2[50];

Key[i]='

Data[i]='

}

请输入密钥!

(不要太长)\n"

gets(Key);

Key[i]!

i++)//获取Key的长度

i++)//将key转换为大写

if((Key[i]<

||Key[i]>

(Key[i]<

你输入的密钥不正确!

//return;

if(Key[i]>

Key[i]<

Key[i]-=32;

\n密钥是%s\n"

Key);

i++)//temp1存取key对应的数字

temp1[i]=Key[i]-65;

请输入明文!

gets(Data);

Data[i]!

i++)//获得明文的实际长度

dlg=i+1;

dlg;

i++)//获得明文的内容并将明文转换为小写

if((Data[i]<

||Data[i]>

(Data[i]<

你输入的明文不正确!

if(Data[i]>

Data[i]<

Data[i]+=32;

\n明文是%s\n"

Data);

i++)//temp2存取明文对应的数字

temp2[i]=Data[i]-97;

for(i=klg;

i++)//设置temp1和temp2的长度相同

if(i%klg==j)

temp1[i]=temp1[j];

Shade[i]=(temp1[i]+temp2[i])%26+65;

密文是:

"

puts(Shade);

voidDecodeVictory()//维吉利亚密码解密算法

charshow[50];

//存取明文

intklg,slg,i,j;

Shade[i]='

请输入密文!

//fflush(stdin);

gets(Shade);

Shade[i]!

slg=i+1;

slg;

i++)//获得密文的内容并将明文转换为小写

if((Shade[i]<

||Shade[i]>

(Shade[i]<

你输入的密文不正确!

Shade[i]+=32;

\n密文是%s\n"

i++)//temp2存取密文对应的数字

temp2[i]=Shade[i]-97;

if((Shade[i]-97)-temp1[i]<

0)

Shade[i]+=26;

show[i]=Shade[i]-temp1[i];

show[i]='

puts(show);

voidVictory()

.........维吉利亚算法.........\n"

.......

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1