mySQL 5.7 和 8.0 之间的 mySQL 兼容字符串加密

问题描述

我编写了一个旧的 PHP 项目,用于使用 MysqL 5.7 在 dbase 上保存数据并使用 DES_ENCRYPT () 保存密码。

CREATE TABLE IF NOT EXISTS `t` (
  `q` varchar(257) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO t(q) values(DES_ENCRYPT('mypassword'));

我想在 MysqL 8.0 所在的另一台服务器中使用相同的代码,但它不起作用,因为 DES_ENCRYPT () 似乎已过时。

我尝试过 AES_ENCRYPT 或 MD5,但 MysqL 5.7 不起作用(可能是因为它是一个 varchar)...我想使用 HEX,但它太容易解密了。

那么,在不彻底更改代码并能够同时为两个 MysqL 使用它的情况下,加密 varchar 字段中的字符串的最佳方法是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)