“二八”妙龄写密码,看谁聪明“爱死他”
2022/4/29 23:42:51
本文主要是介绍“二八”妙龄写密码,看谁聪明“爱死他”,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目背景
“二八”妙龄写密码,看谁聪明“爱死他”。
密文:766C7273626F76706A5E6F715F7271766C72706D626B71716C6C71666A62
解密过程
“二八”对应十六进制,“爱死他”对应ASCII,所以尝试输出每两位十六进制的数对应的ASCII的字符:
int dst[30]; void decode(char *s) { int i; //每两位十六进制字符转成十进制数存到dst数组中 int temp1, temp2; for(i = 0;i < 60;i+=2) { temp1 = s[i] > 58 ? (s[i] - 55) : (s[i] - 48); temp2 = s[i+1] > 58 ? (s[i+1] - 55) : (s[i+1] - 48); dst[i/2] = temp1*16 + temp2; } for(i = 0;i < 30;i++) printf("%c",dst[i]); printf("\n"); }
而输出是:vlrsbovpj^oq_rqvlrpmbkqqllqfjb
所以尝试加上偏移量:
int dst[30]; void decode(char *s) { int i,bias; //每两位十六进制字符转成十进制数存到dst数组中 int temp1, temp2; for(i = 0;i < 60;i+=2) { temp1 = s[i] > 58 ? (s[i] - 55) : (s[i] - 48); temp2 = s[i+1] > 58 ? (s[i+1] - 55) : (s[i+1] - 48); dst[i/2] = temp1*16 + temp2; } //加上偏移量 for(bias = -127; bias < 128; bias++) { for(i = 0;i < 30;i++) printf("%c",dst[i] + bias); printf("\n"); } }
输出结果:
从挑选出最像明文的字符串:youverysmartbutyouspenttootime
解密完成
这篇关于“二八”妙龄写密码,看谁聪明“爱死他”的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南