python - python中的可逆加密

标签 python encryption

小问题:是否有经过验证的强可逆加密方法(Python)?

要求:不需要Python库的第三部分。
适用环境:通过网络传输数据。

我看到一个方法使用 str.translate() 和一个键生成的表。这是表生成函数:

def get_table(key):
    m = hashlib.md5()
    m.update(key)
    s = m.digest()
    (a, b) = struct.unpack('<QQ', s)
    table = [c for c in string.maketrans('', '')]
    for i in xrange(1, 1024):
        table.sort(lambda x, y: int(a % (ord(x) + i) - a % (ord(y) + i)))
    return ''.join(table)

关于这个功能的问题:

  1. 这是一个好的/强大的可逆加密吗?
  2. 在函数中1024是一个很大的数字,需要我们循环这么多次才能得到一个足够强的表吗?

提前致谢。

最佳答案

如果您想要强加密而无需第三方库,那您就不走运了——Python 标准库只有散列函数。如果你想要安全加密,你必须要么实现类似 AES 的东西。你自己(这不是一个好主意,因为没有经验的人在实现加密算法时很容易搞砸),或者改变你的要求并使用 PyCrypto .

关于python - python中的可逆加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785277/

相关文章:

python 灵活的内联变量赋值

python - 如何删除 Pandas 中包含零值的列?

python - Azure 表单识别器 - "TrainingContentMissing",训练数据丢失 : Could not find any training data at the given path

没有填充的 Java AES

java - 给定最终 block 未正确填充的异常

javascript - 如何在 .NET 或 JavaScript 中使用 MS-XCEP 和 MS-WSTEP 从 AD CS 获取证书?

python - 从子程序实时输出到 pyQT Widget 的标准输出

python - 有没有办法用Python计算一个集合的所有合法分区?

Javascript DES加密/PHP解密

linux - 一个程序在处理密码时能不留痕迹吗?