Advertisement

开发希尔密码系统(基于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)

还没有任何评论哟~