欢迎来到天天文库
浏览记录
ID:11841586
大小:35.00 KB
页数:4页
时间:2018-07-14
《keyword密码c语言源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//KEYWORD.H头文件#ifndef_KEYWORD_H_#define_KEYWORD_H_typedefstructtagKeywordTable{charp;charc;}KeywordTable;voidcst_keyword_table(char*key);voidprnt_keyword_table();intkeyword_encrypt(char*plain_txt,char*cipher_txt);intkeyword_decrypt(char*cipher_txt,char*plain_tx
2、t);#endif//KEYWORD.C源文件#include"keyword.h"#include#include#includeKeywordTablekeyword_table[26];voidcst_keyword_table(char*in_key){inti=0,j,k;intchar_count=0,left_ch_index=0;charch,left_chs[26]={0},key[26]={0};intkey_len;strcpy(key,
3、in_key);key_len=strlen(key);while(1){if(key[i]==''){for(j=i;j1){for(k=j;k4、k+1];key_len--;}elsej++;}elsej++;if(j==key_len)break;}if(char_count==0)left_chs[left_ch_index++]=ch;}for(i=0;i5、tf("Plain:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].p);printf("Cipher:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].c);puts("");}intkeyword_encrypt(char*plain_txt,char*cipher_txt){intlength=strlen(plain_txt);inti;for(i=0;i6、_txt[i]>='a'&&plain_txt[i]<='z'){cipher_txt[i]=keyword_table[plain_txt[i]-'a'].c;}elseif(plain_txt[i]>='A'&&plain_txt[i]<='Z'){cipher_txt[i]=keyword_table[plain_txt[i]-'A'].c-32;}elsecipher_txt[i]=plain_txt[i];}cipher_txt[length]=' ';returnlength;}intkeyword_d7、ecrypt(char*cipher_txt,char*plain_txt){intlength=strlen(cipher_txt);inti,j;for(i=0;i='a'&&cipher_txt[i]<='z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]){plain_txt[i]=keyword_table[j].p;break;}}}elseif(cipher_txt[i]>='A8、'&&cipher_txt[i]<='Z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]+32){plain_txt[i]=keyword_table[j].p-32;break;}}}elseplain_txt[i]=cipher_txt[i];}plain_txt[lengt
4、k+1];key_len--;}elsej++;}elsej++;if(j==key_len)break;}if(char_count==0)left_chs[left_ch_index++]=ch;}for(i=0;i5、tf("Plain:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].p);printf("Cipher:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].c);puts("");}intkeyword_encrypt(char*plain_txt,char*cipher_txt){intlength=strlen(plain_txt);inti;for(i=0;i6、_txt[i]>='a'&&plain_txt[i]<='z'){cipher_txt[i]=keyword_table[plain_txt[i]-'a'].c;}elseif(plain_txt[i]>='A'&&plain_txt[i]<='Z'){cipher_txt[i]=keyword_table[plain_txt[i]-'A'].c-32;}elsecipher_txt[i]=plain_txt[i];}cipher_txt[length]=' ';returnlength;}intkeyword_d7、ecrypt(char*cipher_txt,char*plain_txt){intlength=strlen(cipher_txt);inti,j;for(i=0;i='a'&&cipher_txt[i]<='z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]){plain_txt[i]=keyword_table[j].p;break;}}}elseif(cipher_txt[i]>='A8、'&&cipher_txt[i]<='Z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]+32){plain_txt[i]=keyword_table[j].p-32;break;}}}elseplain_txt[i]=cipher_txt[i];}plain_txt[lengt
5、tf("Plain:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].p);printf("Cipher:t");for(i=0;i<26;++i)printf("%c",keyword_table[i].c);puts("");}intkeyword_encrypt(char*plain_txt,char*cipher_txt){intlength=strlen(plain_txt);inti;for(i=0;i6、_txt[i]>='a'&&plain_txt[i]<='z'){cipher_txt[i]=keyword_table[plain_txt[i]-'a'].c;}elseif(plain_txt[i]>='A'&&plain_txt[i]<='Z'){cipher_txt[i]=keyword_table[plain_txt[i]-'A'].c-32;}elsecipher_txt[i]=plain_txt[i];}cipher_txt[length]=' ';returnlength;}intkeyword_d7、ecrypt(char*cipher_txt,char*plain_txt){intlength=strlen(cipher_txt);inti,j;for(i=0;i='a'&&cipher_txt[i]<='z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]){plain_txt[i]=keyword_table[j].p;break;}}}elseif(cipher_txt[i]>='A8、'&&cipher_txt[i]<='Z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]+32){plain_txt[i]=keyword_table[j].p-32;break;}}}elseplain_txt[i]=cipher_txt[i];}plain_txt[lengt
6、_txt[i]>='a'&&plain_txt[i]<='z'){cipher_txt[i]=keyword_table[plain_txt[i]-'a'].c;}elseif(plain_txt[i]>='A'&&plain_txt[i]<='Z'){cipher_txt[i]=keyword_table[plain_txt[i]-'A'].c-32;}elsecipher_txt[i]=plain_txt[i];}cipher_txt[length]=' ';returnlength;}intkeyword_d
7、ecrypt(char*cipher_txt,char*plain_txt){intlength=strlen(cipher_txt);inti,j;for(i=0;i='a'&&cipher_txt[i]<='z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]){plain_txt[i]=keyword_table[j].p;break;}}}elseif(cipher_txt[i]>='A
8、'&&cipher_txt[i]<='Z'){for(j=0;j<26;++j){if(keyword_table[j].c==cipher_txt[i]+32){plain_txt[i]=keyword_table[j].p-32;break;}}}elseplain_txt[i]=cipher_txt[i];}plain_txt[lengt
此文档下载收益归作者所有