永发信息网

c++加密习题,请高手解答

答案:3  悬赏:0  手机版
解决时间 2021-03-21 07:02
  • 提问者网友:临风不自傲
  • 2021-03-20 14:39
c++加密习题,请高手解答
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-03-20 15:10
#include
#include

void main()
{
int i = 0;
int temp = 0;
int nMod = 0;
char a[10];
char b[10];
char c[10];
char d[10];
cin >> a;

memset(b, 0, 10);
for (i = 0; i < strlen(a); i++)
{
temp = a[i] + 4962873;
while (true)
{
nMod = temp % 123;
if (nMod >= 32 && nMod <= 122)
{
b[i] = nMod;
break ;
}
temp += 4962873;
}
}

cout << b << endl;

cout << "请输入解密字符:" << endl;

cin >> c;

memset(d, 0, 10);
for (i = 0; i {
temp = c[i] + 123 - 4962873 % 123;
while (true)
{
nMod = temp % 123;
if (nMod >= 32 && nMod <= 122)
{
d[i] = nMod;
break ;
}
temp += 4962873 / 123 * 123 - 4962873;
}
}
cout << d <}
全部回答
  • 1楼网友:雪起风沙痕
  • 2021-03-20 17:19
#include
#include
#define N 7
int a[N]={4,9,6,2,8,7,3};
void JiaMi(char *str)
{
int i;
for(i=0;*str;str++,i=(i+1)%7)
{
*str+=a[i];
if(*str>122) *str-=90;
}
}
void JieMi(char *str)
{
int i;
for(i=0;*str;str++,i=(i+1)%7)
{
*str-=a[i];
if(*str<32) *str+=90;
}
}
main()
{
char str[81],miwen[81];;
gets(str);
strcpy(miwen,str);
JiaMi(miwen);
puts(miwen);
JieMi(miwen);
if(strcmp(miwen,str)==0)
printf("%s\n",miwen);
else
printf("Failure!\n");
}
  • 2楼网友:佘樂
  • 2021-03-20 16:31
of the algorithm. C8其实是循环移位,所以空缺的位由移出的位补上。规则就是des的相关技术资料,使用时注意加密模式与填充模式的选择,加解密时要
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯