求助
  • 板块学术版
  • 楼主shzuaeno
  • 当前回复3
  • 已保存回复3
  • 发布时间2020/10/30 20:09
  • 上次更新2023/11/5 09:29:41
查看原帖
求助
222345
shzuaeno楼主2020/10/30 20:09

肖途,代号“胡蜂”,表面上的身份是“亚辉通讯社”副社长,日本驻沪领事馆总领事武藤志雄的得力助手,实际是中共地下党员,兴荣帮成员,抗战期间在上海从事潜伏工作。 这样一位隐形守护者如果得到重要的情报需要将情报内容加密发送给接头人员。为防止情报被截获,因此对于情报需要加密。肖途和接头人员都有一个密钥,肖途将情报用密钥加密,接头人员用密钥解密出明文。 现已知密钥是个1-10的整数k,对情报字符串的字母字符,用该字母字符的后k个字母字符代替该字母,超过的部分从头开始计数(如z后1个字符是a)。其他非字母字符不变。得到一个新的字符串即为加密字符串。且为防止数字代号泄漏,约定“#”这个字符无任何意义,并且在最后生成的加密字符串中随机插入#,而解密时会把#忽略掉。 先给出一段加密过后的字符串和密钥k,如果你是接头人员,请将该加密字符串还原成原文。 举例:k=2时,情报字符串为:Hello z001! 则如此加密:H后2个字符是J,e后2个字符是g,l后2个字符是n,o后2个字符是q,z后2个字符是b。则加密字符串为Jgnnq b001! 然后再插入随机个数的#,可以变成Jg#nnq# b0#01#! 加密完成。 解密的话先把#去掉变成Jgnnq b001! 再倒着求出每个字符的前2个字符,这样解出原文是:Hello z001! (注意大小写和空格;A的ascii码是65,a的ascii码是97)。

这道题怎么做?

2020/10/30 20:09
加载中...