如何在 php 中使用 AES-256-CBC 通过正确的身份验证正确加密数据?

2024-01-07

我一直在 php 中使用 openssl 函数使用 AES-256-CBC 加密数据。我已经能够为每个新加密使用唯一的 IV(通过使用 openssl_random_pseudo_bytes 生成)对其进行加密。

但我正在努力思考使用 aes cbc 进行身份验证加密的想法。当我要解密数据时,我如何进行基本身份验证?

我需要使用 PBKDF2、blowfish 或 hash_hmac() 之类的东西吗?

我需要以某种方式散列密钥吗?

非常感谢任何帮助。


简单的解决方案,使用RNC加密器 https://github.com/RNCryptor/RNCryptor-php它适用于 php 和许多其他语言。看到这个ReadMe https://github.com/RNCryptor/RNCryptor了解实施细节。

即使您不使用 RNCryptor,这些方法也是正确且安全的。

该网站的一些详细信息:

  • AES-256 加密
  • CBC模式
  • 使用 PBKDF2 进行密码扩展
  • 密码加盐
  • 随机IV
  • 加密然后散列 HMAC
  • 版本控制
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 php 中使用 AES-256-CBC 通过正确的身份验证正确加密数据? 的相关文章

随机推荐