实施此关键密码
目标
使用算法(在“算法”部分中有说明)来实现特定密码。
该程序必须从STDIN或最接近的可用等效项中读取输入,使用该算法生成密文和密钥。
密文和密钥将被写入STDOUT或最接近的等效密钥。允许任何格式,只要它输出密文和密钥即可。
算法
将字符串中的字符转换为相应的ASCII值。例如:
Hello -> 72 101 108 108 111
接下来,您将需要生成一个密钥,只要该字符串的随机数在0-9范围内即可。
Hello -> 62841
将随机数序列中的整数添加到字符串的ASCII值。在上述示例中,72将变为78,而101将变为104。
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
接下来,将新值转换回字符。在上述示例中,文本Hello
变为Ngtpp
。
例子
(这些仅仅是输出什么样的例子可能看起来像,输出可以且将会变化。)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
规则
- 您可以假定输入将仅包含z,AZ和空格范围内的字符。
- 提交的内容必须是完整的程序或功能。
- 提交内容将以字节计分。
- 禁止出现标准漏洞。
- 这是代码高尔夫球,因此最短的代码获胜。
(这是我的第一个挑战,如果有什么问题,请随时告诉我如何改进它。)
preferably with the format (ciphertext)\n(key).
“首选功能”和代码高尔夫并不太好。您应该将其设置为强制性或允许其他输出格式。3.密钥必须打印时没有空格吗?以列表格式打印,例如[0, 5, 2, ...]
?