栅栏密码加密解密python脚本工具

先来无事写了个智商很低的脚本,留着自己用,顺便拿出分享一下,大佬们不要嘲笑我。

栅栏密码

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)

 

python3 脚本

# 栅栏密码加密解密
# @ChenYe 
def crypto():
    plain = input('输入明文:')
    n = int(input('输入每组字数'))
    ans = ''
    for i in range(n):
        for j in range(int(plain.__len__()/n + 0.5)):
            try:
                ans += plain[j*n+i]
            except:
                pass
    return ans

def decrypto():
    plain = input('输入密文:')
    for n in range(2,plain.__len__()-1):
        ans = ''
        for i in range(n):
            for j in range(int(plain.__len__() / n + 0.5)):
                try:
                    ans += plain[j * n + i]
                except:
                    pass
        print(ans)


if __name__ == '__main__':
    print('栅栏密码加密/解密.py')
    while(True):
        choice = input('功能选择:\n1:加密\n2:解密\n')
        # 加密
        if choice == '1':
            print(crypto())
        # 解密
        elif choice == '2':
            decrypto()
        else:
            print('choice error!')

 

实测还是可以用的,如果有什么问题欢迎留言。

你可能感兴趣的:(栅栏密码加密解密python脚本工具)