python实现栅栏密码
时间: 2023-10-23 21:11:00 浏览: 286
凯撒密码python编程.md
栅栏密码是一种简单的加密方法,将明文按照一定的规律分成若干组,然后将每组中的字符重新排列组成密文。
以下是一个简单的 Python 实现:
```python
def fence_cipher(text, n):
# 将明文按照栏数分组
groups = [''] * n
for i in range(len(text)):
groups[i % n] += text[i]
# 将每组字符重新排列组成密文
cipher_text = ''.join(groups)
return cipher_text
# 测试
text = 'hello world'
cipher_text = fence_cipher(text, 3)
print(cipher_text) # 'hlwlodreo l'
```
解释:
`fence_cipher` 函数接受两个参数:明文字符串 `text` 和栏数 `n`。函数首先将明文字符串按照栏数分成 `n` 个组,将每个字符依次放入这些组中。然后,将每组中的字符重新排列组成密文字符串 `cipher_text`,最后返回密文字符串。
在测试中,输入明文字符串 `'hello world'` 和栏数 `3`,输出密文字符串 `'hlwlodreo l'`。
阅读全文