首页 > 用户发贴区 > 编程问题提问区 > 求助C语言加密和解密程序,谢谢!
2008
06-25

求助C语言加密和解密程序,谢谢!

收集20篇左右的某种英文文献资料(每篇字符数量>1万字符),将其编辑成一个超过20万字符的文件,统计每个英文字母的使用频率,对期中的一篇进行加密,然后运用统计方法进行解密,人工比较解密结果与明文的差距。要求:


1.       加密使用简单替换的方法进行,并且只对英文字母进行加密,其他字符不替换,字母替换不区分大小写并按如下方式进行:


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


g  d  y  e  f  q  r  x  k  a  p  t  u  i  n  o  v  b  j  w  c  s  h  z  l  m


即加密时字母a用字母g替换、字母b用字母d替换、字母c用字母y替换、。。。。。。字母z用字母m替换。


2.       设计一个统计字母出现频率的函数void arate(char filename[50],float fr[26])函数的功能是统计filename文件中每一英文字母出现的频率统计结果存放在数组fr[26]期中a[0]~a[25]分别表示字母a~z(大小写不分)出现的频率。


3.       设计一个加密函数void enp(char infile[50],char outfile[50],char key[26]),函数的功能是将文件infile中的所有字母根据字母表key[26]进行加密,加密结果输出到文件outfile中。


4.       设计一个函数void dep(char infile[50],char outfile[50],float fr[26]),函数的功能是根据字母频率表对文件(密文)中的每一字母进行解密,解密的结果存放到文件outfile中,方法是统计infile文件中每一字母出现的频率,根据频率表推断每一字母(密文)对应的字母(明文)。


留下一个回复