【问题标题】: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Ç

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

【问题讨论】:

    标签: php mysql mcrypt


    【解决方案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?

        【讨论】:

          猜你喜欢
          • 2011-11-12
          • 1970-01-01
          • 2013-03-05
          • 2018-10-04
          • 1970-01-01
          • 1970-01-01
          • 2012-05-06
          • 2014-07-07
          • 2011-03-08
          相关资源
          最近更新 更多