无法将MCRYPT加密数据插入数据库

时间:2015-06-17 11:55:26

标签: php mysql encryption pdo mcrypt

我使用MCRYPT加密敏感数据并将其保存到数据库中。加密数据如下所示(加密数据上方的非加密数据)

real data above the encrypted data

然后像往常一样在文本字段utf8_unicode_ci中插入MySQL PDO数据库,但结果大部分时间都是空的。有时它只保存第一个字符。那么如何将加密值保存到数据库中呢?

$stmt=$db->prepare("insert into TABLE (myData) VALUES (:enc) ");
$stmt->bindParam(':enc',$encrypted);
$stmt->execute();

2 个答案:

答案 0 :(得分:1)

另外编码base64

加密后编码

base64_encode($encrypted)

解密前解码

base64_decode($encrypted)

答案 1 :(得分:0)

你从pdo得到一个例外吗?

有了这些小信息我猜你想把数据保存到varchar字段中。

您可能需要将varchar字段更改为varbinary字段。