#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");
}
#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 <
of the algorithm. C8其实是循环移位,所以空缺的位由移出的位补上。规则就是des的相关技术资料,使用时注意加密模式与填充模式的选择,加解密时要