“二八”妙龄写密码,看谁聪明“爱死他”

“二八”妙龄写密码,看谁聪明“爱死他”

题目背景

“二八”妙龄写密码,看谁聪明“爱死他”。
密文:766C7273626F76706A5E6F715F7271766C72706D626B71716C6C71666A62

解密过程

根据提示考虑十六进制转十进制,再由ASCII码转字符
解密代码如下:

int res[30];
void decode(char *str)
{
    int i, bias;
    // 十六进制转十进制数
    for (i = 0; i < 60; i+=2)
    {
        int temp = str[i+1] > 58 ? (str[i+1] - 55) : (str[i+1] - 48);
        res[i/2] = (str[i] - 48)*16 + temp;
    }
    // 加上偏移量
    for (bias = -128; bias <= 128; bias++)
    {
        for (i = 0; i < 30; i++)
        {
            printf("%c", res[i] + bias);
        }
        printf("\n");
    }    
}

输出结果:

从里面选出最像明文的字符串:

you very smart but you spent too time

搞定收工!

posted @ 2022-04-26 23:39  Champ-X  阅读(140)  评论(0编辑  收藏  举报