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

can not insert MCRYPT encrypted data to the database

我正在使用 MCRYPT 加密敏感数据并将它们保存到数据库中。加密数据看起来像这样(加密数据上面是非加密数据)

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

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

额外编码base64

加密后编码

base64_encode($encrypted)

解密前解码

base64_decode($encrypted)

你从 pdo 得到异常吗?

根据这些小信息,我猜您想将数据保存到 varchar 字段中。

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