輸入一個字符已加密的形式輸出,然後將其解密,解密的字符序列與輸入的正文進行比較,吻合時輸出解密正文,否則解密失敗。
加密時將每一個字符的ASCII碼依次反復加上“4962873”中的數字
注:用C語言,別的語言就不要了,先謝了!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main( void )
{
char source[80], encrypt[80], decrypt[80];
int ascii[] = {4,9,6,2,8,7,3};
int i;
printf("Enter a string: ");
gets( source );
// encrypt
for ( i = 0; i < strlen( source ); i++ )
{
encrypt[i] = source[i] + ascii[source[i]%7];
}
encrypt[i] = '\0';
// decrypt
for ( i = 0; i < strlen( source ); i++ )
{
decrypt[i] = encrypt[i] - ascii[source[i]%7];
}
decrypt[i] = '\0';
printf("Encrypt: ");
puts( encrypt );
// check
if ( strcmp( source, decrypt ) == 0 )
{
printf("Decrypt: ");
puts( decrypt );
}
else
printf("Error in decrypting!\n");
system("pause");
return 0;
}