AES加密变量未插入PHP - Mysqli Prepared Statement

时间:2016-11-02 13:37:04

标签: php mysql sql security encryption

我有一个必须加密的变量,之后通过mysqli prepared statement保存到数据库中。我使用AES-256-CTR。

$tabvar = openssl_encrypt($final, $encryptionMethod, $secret, OPENSSL_RAW_DATA, $iv);

加密后,结果如下所示:5œœ¼Ç=áüû;€é?

这是我的php插入代码:

$ins = mysqli_prepare($db, "INSERT INTO tab (tid, tabvar) VALUES (?,?)");
mysqli_stmt_bind_param($ins, "ss",$tid,$tabvar); mysqli_stmt_execute($ins);

因为$ tabvar在加密后由一些非常奇怪的字符组成,所以它不会插入到数据库中。如果我将$ tabvar更改为“i”,则插入行get,但tabvar列下的条目为0?

有没有人知道如何解决这个问题?

0 个答案:

没有答案