Ish*_*ade 0 php python encryption
基本上我正在将PHP CodeIgniter的加密方法转换为Python,但我在将PHP的mcrypt_create_iv库转换为Python时遇到困难.
提前致谢.
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_RANDOM或MCRYPT_RAND在PHP,但硬是没有理由为使用这些替代的MCRYPT_DEV_URANDOM-它只是所有可衡量的标准更好:
MCRYPT_RAND特别是不适合加密目的,换句话说 - 它是不安全的.MCRYPT_DEV_RANDOM可以并且将阻止直到新的熵数据可用.你不希望在一个Web应用程序中阻塞,并且因为阻塞而被揭穿的神话/dev/random更好./dev/urandomMCRYPT_DEV_URANDOM 是非阻塞和安全的.