微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。