首页 > 解决方案 > 您如何正确设置 MySQL 数据库来存储由 PHP OpenSSL 密码/随机伪字节/加密函数产生的加密信息?

问题描述

我一直在玩这个一分钟,我似乎无法做到这一点。我已经多次更改了排序规则和 varchar 长度,但是一旦我提交,我得到的只是空白字段。未加密,它们填充字段就好了。但是第二次我加密它们 - 这是一个空白的城镇。

我认为它只是使用了不同的字符编码,但要么我完全错过了正确的编码,要么是别的东西。

就加密而言,这基本上就是我正在做的事情:

$cm = 'aes-256-cbc-hmac-sha256';
$ivlen = openssl_cipher_iv_length($cm);
$iv = openssl_random_pseudo_bytes($ivlen);

$accessToken = 'AA44FC23459DD9A9D009DABBAAABF';

// this is just to show what the iv and c_key end up looking like
$iv = ' ... �u0�du ... ';
$c_key = ' ... 8�!Ò��u0�du�2⮩e ... '; // ellipses are just a fill in

// then I go ahead and encrypt...
$SSLaccessToken = openssl_encrypt($pw, $cm, $c_key, $options=0, $iv);

但是第二次我尝试将它放在数据库中,它对我不利。那么 - 我错过了什么?应该是人设吧?这是唯一对我有意义的事情——但我该如何确定呢?

标签: phpmysqlencryptionopenssl

解决方案


推荐阅读