标题:这是列换位法加密解密过程,怎么出个错误啊。怎么改,求加密解密代码
只看楼主
a18753216575
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-12-17
结帖率:0
已结贴  问题点数:20 回复次数:3 
这是列换位法加密解密过程,怎么出个错误啊。怎么改,求加密解密代码
#include<stdio.h>
 #include<string.h>
 #include<time.h>
 #define CODELEN 256  /*密文长度.*/
 char *encode(char *dest,char *str,int key)
{  int i,j,len,len2,n=0; len=strlen(str);  
if((len % key)!=0) len2=len+ key-(len % key);
 else len2=len; srand(time(NULL));
for(i=len;i<len2;i++)
str[i]=(char)((rand() % 26) + (rand() % 1)*('A'-'a')+'a');
str[len2]=0;
 for(j=0;j<key;j++)
 for(i=0;i<len2/key;i++) dest[n++]=str[i*key+j];
dest[n]=0; str[len]=0; return dest; }  
char *decode(char *dest,char *str,int key)
 { int i,j,len,n=0;
 len=strlen(str);
if((len % key)!=0)
 return NULL;
 len=len / key;
for(i=0;i<len;i++)
 for(j=0;j<key;j++)
 {   dest[n++]=str[j*len+i];  //printf("%c",dest[n-1]); }
 dest[n]=0;  return dest; }
 int main()
 { int key,i,j,len; char str[CODELEN]; char xstr[CODELEN];
scanf("%s",str);
scanf("%d",&key);//输入密钥
 printf("原始明文:%s\n",str);
printf("加密密文:");
 encode(xstr,str,key); printf("%s\n",xstr);  
 if(decode(str,xstr,key)!=NULL)
 {printf("%s\n",str);}
 else {printf("NULL");}
 }
搜索更多相关主题的帖子: return encode 加密 include 
2012-12-17 23:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
这是列换位法加密解密过程
------ 不是吧,你这明明就是一块新疆大切糕,看这代码排版,多么密实呀
2012-12-18 08:47
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
得分:7 
哇 那可是糕富帅啊

以下是引用rjsp在2012-12-18 08:47:41的发言:

这是列换位法加密解密过程
------ 不是吧,你这明明就是一块新疆大切糕,看这代码排版,多么密实呀

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-18 09:16
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
c版也发了

DO IT YOURSELF !
2012-12-18 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-391730-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018002 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved