Keyword密码C语言源代码.doc_第1页
Keyword密码C语言源代码.doc_第2页
Keyword密码C语言源代码.doc_第3页
Keyword密码C语言源代码.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/KEYWORD.H头文件#ifndef _KEYWORD_H_#define _KEYWORD_H_typedef struct tagKeywordTablechar p;char c;KeywordTable;void cst_keyword_table (char *key);void prnt_keyword_table ();int keyword_encrypt (char *plain_txt, char *cipher_txt);int keyword_decrypt (char *cipher_txt, char *plain_txt);#endif/KEYWORD.C源文件#include keyword.h#include #include #include KeywordTable keyword_table26;void cst_keyword_table (char *in_key)int i = 0, j, k;int char_count = 0, left_ch_index = 0;char ch, left_chs26 = 0, key26 = 0;int key_len;strcpy (key, in_key);key_len = strlen (key);while (1)if (keyi = )for (j = i; j key_len - 1; +j)keyj = keyj + 1;key_len-;if (i = key_len)break;i+;for (i = 0; i 1)for (k = j; k key_len -1; +k)keyk = keyk + 1;key_len-;elsej+;elsej+;if (j = key_len)break;if (char_count = 0)left_chsleft_ch_index+ = ch;for (i = 0; i left_ch_index; +i)keykey_len+ = left_chsi;for (i = 0; i 26; +i)keyword_tablei.p = a + i;keyword_tablei.c = keyi;void prnt_keyword_table ()int i;printf (Plain:t);for (i = 0; i 26; +i)printf (%c , keyword_tablei.p);printf (nCipher:t);for (i = 0; i 26; +i)printf (%c , keyword_tablei.c);puts(n);int keyword_encrypt (char *plain_txt, char *cipher_txt)int length = strlen (plain_txt);int i;for (i = 0; i = a & plain_txti = A & plain_txti = Z)cipher_txti = keyword_tableplain_txti - A.c - 32;elsecipher_txti = plain_txti;cipher_txtlength = 0;return length;int keyword_decrypt (char *cipher_txt, char *plain_txt)int length = strlen (cipher_txt);int i, j;for (i = 0; i = a & cipher_txti = z)for (j = 0; j = A & cipher_txti = Z)for (j = 0; j 26; +j)if (keyword_tablej.c = cipher_txti + 32)plain_txti = keyword_tablej.p - 32;break;elseplain_txti = cipher_txti;plain_txtlength = 0;return length;/MAIN.C文件#include #include #include #include keyword.hint main ()char plain_txt1000, cipher_txt1000;char key26 = 0;printf (Please input your key (string): );scanf (%s, key);cst_keyword_table (key);printf (Keyword Table:n);prnt_keyword_table ();printf (Please input plain text: );scanf (%s, plain_txt);keyword_encrypt (plain_txt, cipher_txt);printf (Cipher is : %sn, cipher_tx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论