您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在php中加密/解密数据?

如何在php中加密/解密数据?

从表定义开始:

- UserID
- Fname
- Lname
- Email
- Password
- IV

更改如下:

选择最佳的加密密码和模式超出了此答案的范围,但是最终的选择会影响加密密钥和初始化向量的大小;在本文中,我们将使用AES-256-CBC,它的固定块大小为16个字节,密钥大小为16、24或32个字节。

一个好的加密密钥是从可靠的随机生成生成的二进制Blob。建议使用以下示例(> = 5.3):

$key_size = 32; // 256 bits
$encryption_key = openssl_random_pseudo_bytes($key_size, $strong);
// $strong will be true if the key is crypto safe

可以执行一次或多次(如果您希望创建一串加密密钥)。尽可能将它们保密。

初始化向量为CBC模式增加了加密的随机性。理想情况下,这些值只能使用一次(每个加密密钥技术上只能使用一次),因此,对行的任何部分进行更新都应重新生成它。

提供了一个功能来帮助您生成IV:

$iv_size = 16; // 128 bits
$iv = openssl_random_pseudo_bytes($iv_size, $strong);
php 2022/1/1 18:18:36 有509人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶