fdm*_*ion 1 python encryption rc4-cipher
我正在尝试编写一个需要大量加密强度伪随机字节的应用程序.
RC4密码对此非常理想; 它的重量轻,易于理解.所以,我得到了规范并用Python编写了一个RC4算法.
它完全按预期工作,但是,它像糖蜜一样慢.在我的Core i7 2.2GHz上,我只能从算法中获得大约1MB /秒的速度.
很明显,Python的解释性质并不是最适合这类任务的.我的问题是我不熟悉C编码 - 我用C做的最好的是一些Hello World的东西和一些文件读写的实验.无论哪种方式,我对C使用Python-C API肯定不够好.
我知道.NET/C#,我在Windows上用C#编写了相同的算法,并且我能够轻松地超过60MB /秒.所以.NET的CLR更加优化.但是,Python应用程序的目标平台是Unix/Linux.
理想情况下,我不想通过大量的中间层来获得优化的RC4密码到Python应用程序中.
由于RC4依赖于状态,理想情况下我会用类来做(这就是我用Python实现的方式.)所以,这里是我想要做的一小部分:
rc4 = RC4Encrypter()
rc4.seed(myKey) # seed the RC4 algorithm with bytes from string myKey
rc4.getRC4Bytes(1048576) # get the next 1MB of RC4 cryptostream bytes as a binary string
rc4.encryptWithRC4(myString) # encrypt myString's bytes with RC4 bytes using xor and return
Run Code Online (Sandbox Code Playgroud)
有什么建议?我很想学习C,但对于这个简单的项目来说,这是一个很大的学习曲线.