多表代换密码_第1页
多表代换密码_第2页
多表代换密码_第3页
全文预览已结束

付费下载

下载本文档

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

文档简介

一、实验目的1、利用C语言编程实现多表代换加密与解密2、深入理解多表代换密码原理二、实验题目多表代换密码要求:输入密钥字、明文,得密文,输入密文,得明文明密文是26个小写英文字母组成的字符串。三、算法与编码算法:S1:输入密钥字、明文S2:将密钥字与明文字符串数组转换为一维整形数组,进行加密运算S3:加密后再转化为字符串数组S4:输出密文S5:输入密文S6:将密钥字与明文字符串数组转换为一维整形数组,进行解密运算S7:解密后再转化为字符串数组S8:输出明文源代码:#include<stdio.h>#include<string.h>charbiao[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};//字母表intduiying(charc)//将字母逐个转换成数字{ inti,d;for(i=0;i<26;i++)if(c==biao[i])d=i;returnd;}voidmain()//主函数{ inti,j,k1,k2,length0,length1,length2; charkey[10],mingwen[100],miwen[100],miw[100],mingw[100]; printf("请输入密钥字:"); scanf("%s",key); printf("请输入欲加密的明文:"); scanf("%s",mingwen); length0=strlen(key); length1=strlen(mingwen); for(k1=0;k1<length1+length0;k1=k1+length0)//加密过程 { for(i=k1;i<k1+length0;i++) { miwen[i]=biao[(duiying(mingwen[i])+duiying(key[i-k1]))%26]; } } printf("密文:%s\n",miwen); printf("请输入欲解密的密文:"); scanf("%s",miw); length0=strlen(key); length2=strlen(miw); for(k2=0;k2<length2+length0;k2=k2+length0)//解密过程 { for(j=k2;j<k2+length0;j++) { mingw[j]=biao[(duiying(miw[j])-duiying(key[j-k2])+26)%26]; } } printf("明文:%s\n",mingw);}四、运行结果五、总结与心得1、利用字母表biao[26]和函数duiying()可以简单地将字母与

温馨提示

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

评论

0/150

提交评论