XOR编码多字节字符串并保存到MySQL字段而不会丢失

时间:2012-09-14 13:44:44

标签: php mysql varchar xor multibyte

我目前正在使用this function来混淆MySQL中的字段值并保护它免受直接转储。这一切都运行良好,值正确存储,但当我尝试存储多字节字符串时会发生什么?

这是一个例子,让我们尝试编码字符串álex

<?
$v = xorencode('álex');
// step 1 - encode
echo $v."\n";
// step 2 - decode
echo xorencode($v);
?>

效果很好,我第一次看到一些混淆的字符串,然后我再次看到álex。现在,如果我尝试将其保存在MySQL表中的 VARCHAR 字段中,然后选择它 - 我不再使用utf字符串,而是将其作为 gllex 返回。

注意,MySQL表和字段排序规则为utf8_general_ci,文件为UTF-8,连接后为SET NAMES utf8。对此有任何解决方法吗?

由于

0 个答案:

没有答案