Python:使用密钥在没有模块的情况下加密和解密字符串



我有一系列随机生成的字符串,我需要用随机生成的相同长度的密钥对其进行加密和解密。

我的问题是,我不能只使用 PyDES 或 PyCrypto,因为我希望我的整个程序都在一个文件中,而且正如我所说,模块只有在模块存在于用户计算机上并且程序在模块目录中时才有效。

有人可以指出我可以复制并粘贴到应用程序中的函数、方法甚至模块,它使用密钥进行加密吗?我非常希望它涉及比Vigenere密码更先进的加密,但安全性不是我最关心的问题。

您始终可以将在模块中找到的实现复制到源代码中。不过,编写自己的算法是一个非常糟糕的主意,即使您有可用的算法描述。

您还可以使用 ctypes 与系统中已存在的 SSL 库进行交互。

或者,如果您知道字符串和密钥实际上是使用加密 RNG 生成的,那么您可以逐个字符将它们 XOR 在一起。这是一种有效的一次性垫子方法。只需确保您使用的 RNG 适用于这种方法即可。有些变体会失败(例如MT很容易逆转)。

最新更新