xzy*_*fer 2 php encryption mcrypt
我会保持简短.作为PHP的mcrypt库的一部分,有大约40种可能的密码,请参见此处.
我自己对加密知之甚少,无论使用何种密码,我都在假设工作,解密时的数据与加密的数据相同(否则有什么意义呢?)
我需要加密然后解密数组或序列化标准对象.我在网上浏览了几个mcrypt库的基本实现示例,并注意到每个示例都使用了不同的密码.它让我想知道这是否有任何意义,或仅仅是个人偏好?
我的问题是,这些密码之间是否存在重大差异,我应该关注这些密码
注意
我不是在讨论是否应该使用哈希或者hmac.加密是必要的,也是此问题的正确选项.
任何合理的密码在给定正确密钥的明文/密文之间加密/解密.
您选择的密码存在巨大差异.无论是块长度,密钥长度和/或一般安全性.例如,您永远不应该使用DES,因为它只使用56位密钥.与您引用的列表中的其他密码类似.在使用任何密码之前,请始终阅读它并确定它是否适合您的上下文.
但我不能详细介绍您列表中的每个密码.:-)
我个人喜欢AES(Rijndael),它有三种尺寸的键128,192和256位.最着名的攻击比蛮力攻击更快,但仍然不可行.它也很快(实际上英特尔在Westmere和Sandy Bridge中包含AES的机器说明).
Serpent和Twofish也是很好的密码.Serpent排名第二,Rijndael和Twofish在几年前的AES比赛中排名第三(我认为是).