Python相当于PHP中的mcrypt_create_iv

Ish*_*ade 0 php python encryption

基本上我正在将PHP CodeIgniter的加密方法转换为Python,但我在将PHP的mcrypt_create_iv库转换为Python时遇到困难.

提前致谢.

Nar*_*arf 5

mcrypt_create_iv() 它只是OS级别伪随机生成器的PHP接口(它甚至不是libmcrypt的一部分,与函数名称所暗示的相反).

Python通过os模块提供这样的接口,你需要的是os.urandom().

例如,如果您需要翻译mcrypt_create_iv(16, MCRYPT_DEV_URANDOM)成Python,则需要编写os.urandom(16).


澄清可能的混淆:

您may've使用MCRYPT_DEV_RANDOMMCRYPT_RAND在PHP,但硬是没有理由为使用这些替代的MCRYPT_DEV_URANDOM-它只是所有可衡量的标准更好:

  • MCRYPT_RAND特别是不适合加密目的,换句话说 - 它是不安全的.
  • MCRYPT_DEV_RANDOM可以并且将阻止直到新的熵数据可用.你不希望在一个Web应用程序中阻塞,并且因为阻塞而被揭穿的神话/dev/random更好./dev/urandom

MCRYPT_DEV_URANDOM 是非阻塞和安全的.