密码破解

假设渊子原来一个BBS上的密码为zvbo941987,为了方便记忆,他通过一种算法把这个密码变换成YUANzi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,声明:密码中没有空格,而密码中出现的大写字母则边成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

 

#include
#include
int main()
{
    int i,s;
    char a[100];
    while(gets(a))
    {

		s=strlen(a);
        for(i=0;i='A' && a[i]<='Z') a[i]=a[i]+32;
            else if(a[i]>='a' && a[i]<='z') a[i]=a[i]-32;
            else if(a[i]=='0') a[i]='9';
            else if(a[i]=='1') a[i]='8';
            else if(a[i]=='2') a[i]='7';
            else if(a[i]=='3') a[i]='6';
            else if(a[i]=='4') a[i]='5';
            else if(a[i]=='5') a[i]='4';
            else if(a[i]=='6') a[i]='3';
            else if(a[i]=='7') a[i]='2';
            else if(a[i]=='8') a[i]='1';
            else if(a[i]=='9') a[i]='0';
            else ;
        }
		for(i=s-1;i>=0;i--){
			printf("%c",a[i]);
		}
		printf("\n");
    }
    return 0;
}

 

你可能感兴趣的:(密码破解)