某个公司采用公用电话传递数据,数据(明文)是四位的整数,在传递过程中是加密的,加密规则:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。如明文是1234,则密文是9876;明文是2345,则密文是0987。编写一一个程序, 在主函数中输入明文,根据加密规则输出密文。
时间: 2024-03-21 07:38:30 浏览: 130
RSA.rar_RSA 加密解密_数据加密 解密
好的,以下是程序代码,您可以参考:
```python
def encrypt(plain_text):
# 将每一位数字加上 5 并计算除以 10 的余数
encrypted_text = [int((int(digit) + 5) % 10) for digit in plain_text]
# 将第一位和第四位交换,第二位和第三位交换
encrypted_text[0], encrypted_text[3] = encrypted_text[3], encrypted_text[0]
encrypted_text[1], encrypted_text[2] = encrypted_text[2], encrypted_text[1]
# 返回密文,注意需要转换为字符串类型
return ''.join(map(str, encrypted_text))
# 主函数
if __name__ == '__main__':
# 读入明文
plain_text = input('请输入四位明文(四个数字):')
# 加密并输出密文
print('密文:', encrypt(plain_text))
```
运行程序后,您可以输入明文,程序会输出对应的密文。
阅读全文