python 简单的加密/解密算法(Vigenere密码)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 简单的加密/解密算法(Vigenere密码)相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python3

import base64

"""
Simple obfuscation that will obscure things from the very casual observer.
It is one of the strongest of the simple ancient ciphers.
https://en.wikipedia.org/wiki/Vigenère_cipher
"""


def encrypt(key, string):
    encoded_chars = []
    for i in range(len(string)):
        key_c = key[i % len(key)]
        encoded_c = chr(ord(string[i]) + ord(key_c) % 256)
        encoded_chars.append(encoded_c)
    encoded_string = ''.join(encoded_chars)
    return base64.b64encode(bytes(encoded_string, 'utf-8')).decode('utf-8', 'ignore')


def decrypt(key, string):
    decoded_chars = []
    string = base64.b64decode(bytes(string, 'utf-8')).decode('utf-8', 'ignore')
    for i in range(len(string)):
        key_c = key[i % len(key)]
        encoded_c = chr(abs(ord(string[i]) - ord(key_c) % 256))
        decoded_chars.append(encoded_c)
    decoded_string = ''.join(decoded_chars)
    return decoded_string

以上是关于python 简单的加密/解密算法(Vigenere密码)的主要内容,如果未能解决你的问题,请参考以下文章

Python简单加密操作

python RSA加密解密及模拟登录cnblog

Python使用rsa模块实现非对称加密与解密

python 加密与解密

Python 加密解密算法

Python中的密码加密和解密