Ps:此题为学校作业,老师对题目数据进行了改动,原Project Euler中Key 应为exp,这里老师对加密文本进行了改动,因涉及学校老师隐私不变上传txt文件还望去网上自行下载
译:自己百度去吧,翻译完我脑袋都大了
用代码解释下如何实现加密:直接上代码:
解题思路:
已知密码是3位数
所以第一个数,第四个数,第七个数。。。。。。为同一个字符异或而得
所以第二个数,第五个数,第七个数。。。。。。为同一个字符异或而得
所以第三个数,第六个数,第九个数。。。。。。为同一个字符异或而得
因此数据可以分成三份,分别统计三份中出现最多得数字
然后在用英文中出现概率最大得英文单词‘E’概率是12.25%得ascii值去异或
ps: (密文的acsii)^(key的ascii) = (加密后的ascii)
反推:(加密后的ascii)^(密文的ascii) = (密文的ascii) 依然成立
这里不要忘记考虑空格
先用空格去试试 这里直接得出了 正确答案
我为什么知道是正确答案,因为答案是我学校的英文简称
得到Key值后就很好翻译文章了
代码部分:
网友评论