php - 您如何正确设置 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);
但是第二次我尝试将它放在数据库中,它对我不利。那么 - 我错过了什么?应该是人设吧?这是唯一对我有意义的事情——但我该如何确定呢?
解决方案
推荐阅读
- scala - 如何将方法限制为仅用于特定类型?
- cmd - 考虑到无法删除通话记录,如何删除不和谐的PM?
- docker - 如何在openshift中部署apache服务器?
- javascript - 我如何在反应中从 Json 对象中读取单个元素?
- ansible - 如何正确管理 ansible 变量和 group_vars?
- mysql - 如何明智地获得第二高薪部门?
- javascript - 什么是纱线中的“提升清单”
- java - 如何使用 Selenium 和 Java 为整数值调用 sendKeys() 方法
- sql - SQL:名为 IN 的列导致查询错误
- php - 调用未定义的函数 GuzzleHttp\Handler\curl_reset()