一道加密题 求助!
问题描述:
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换.
要求通过程序实现数据加密的过程.
我写的程序有错.我是菜鸟,脑袋掉了三两油还是看不出来! 请指出我的不足,或者给一个正确的程序.万分感谢!(我希望密码可以有字母的,纯数字的就不要了.)
#include "stdio.h"
#include "string.h"
void main(){
char op[100];//op=>old password
char np[100];//np=>new password
char c;
printf("请输入原密码:");
fflush(stdin);
gets(op);
int len=0;
int i;
int j=0;
len=strlen(op);
for(i=0;i<len;i++){
np[j]=(op[i]+5)%10;
j++;
len++;
}
for(j=len;j>=0;j--){
np[j]=np[len-j-1];
}
op[i]='\0';
np[j]='\0';
c=np[0];
np[0]=np[len-1];
np[len-1]=c;
printf("%s",np);
}