如何存储 mcrypt_module_open('rijndael-256','','ofb','');在 MYSQL

Posted

技术标签:

【中文标题】如何存储 mcrypt_module_open(\'rijndael-256\',\'\',\'ofb\',\'\');在 MYSQL【英文标题】:How to store mcrypt_module_open('rijndael-256','','ofb',''); in MYSQL如何存储 mcrypt_module_open('rijndael-256','','ofb','');在 MYSQL 【发布时间】:2012-01-25 20:23:46 【问题描述】:

我在将 mcrypt_module_open('rijndael-256','','ofb',''); 存储在 mysql 数据库中时遇到了一点问题。

当它将加密数据插入 MySQL 数据库时,它看起来像这样˜9ÏÏd‰

应该是这样的

÷`¥¶Œ"¼¦q…ËoÇ

我想知道我是否必须做一些事情才能让它工作?

【问题讨论】:

【参考方案1】:

您是否尝试过整理您的角色支持的表格。

字符 '÷`¥¶Œ"¼¦q...ËoÇ' 看起来像 UTF-8 或其他字符集,查找您的字符的字符集并根据您的字符集更新表排序规则

【讨论】:

【参考方案2】: 使用 blob 字段类型存储二进制数据(BLOB、VARBINARY、BINARY) 如果您还没有这样做:如果您直接在 SQL 语句中使用它们,请使用正确的方法转义您的值。甚至更好:使用查询参数/准备好的语句。 作为最后的手段,您可以使用base64_encodebin2hex 对数据进行编码。 如果您想在控制台或浏览器中显示二进制数据(即使是出于调试目的),也可以使用其中一种编码。否则您可能看不到实际数据,因为浏览器可能无法正确显示您的二进制文件。

【讨论】:

【参考方案3】:

一般来说,像这样对二进制数据进行 base64 编码和解码可能是个好主意。见Best way to use php to encrypt and decrypt passwords?。

【讨论】:

以上是关于如何存储 mcrypt_module_open('rijndael-256','','ofb','');在 MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

php请详细解释下mcrypt_module_open是干啥用的

<转载>php7以上 不支持mcrypt_module_open方法问题微信开放平台

mcrypt 如何加/解密 ?

php aes加密

使用 mcrypt 在 php 和 c 中进行 AES 加密

php-AES/CBC/PKCS7Padding加密的实现