开发希尔密码系统(基于Python)
发布时间
阅读量:
阅读量
希尔加密的具体实现原理在此不再赘述,直接进入代码部分。
编写一个函数:def fun(s, mod1, mod2, key)
其中,s表示需要进行加密或解密操作的字符串内容;
mod1用于指定当前操作为加密或解密模式;
mod2的取值为A=0或A=1,目前互联网上关于希尔加密的实现方式并未形成统一标准,两种不同的模式会导致最终结果存在差异;
key代表所使用的密钥,在将其转换为矩阵形式后,必须满足方阵且可逆的条件。
函数需要接收相关参数作为输入,若key的长度无法构成一个完全平方数,则直接返回。
#边界条件
if not s:
return "请输入密文"
if not key:
return "请输入密钥"
l = int(len(key) ** 0.5)
if l ** 2 != len(key):
return "请输入有效密钥"
#统一转成小写字母,便于将字符串转成矩阵
s = s.lower()
key = key.lower()
#确定矩阵的长和宽
if len(s) % l == 0:
全部评论 (0)
还没有任何评论哟~
