MySql AES解密字段为空

MySql AES解密字段为空,mysql,aes,Mysql,Aes,我试图用相应的MySQL函数对数据进行加密和解密。 这就是我所做的: INSERT INTO dbsec.tbl_credent (U_Password) VALUES (AES_ENCRYPT('secretText', SHA2('pwd123',512))); 主键(id)为6。所以我用 SELECT dbsec.tbl_credent.U_Password FROM dbsec.tbl_credent WHERE dbsec.tbl_credent.id = '6'; 我得到了这样的

我试图用相应的MySQL函数对数据进行加密和解密。 这就是我所做的:

INSERT INTO dbsec.tbl_credent (U_Password) VALUES (AES_ENCRYPT('secretText', SHA2('pwd123',512)));
主键(id)为6。所以我用

SELECT dbsec.tbl_credent.U_Password FROM dbsec.tbl_credent WHERE dbsec.tbl_credent.id = '6';
我得到了这样的东西:

Ž4•ý/2Ÿ½üyÙ¤Ý'
所以到目前为止,加密似乎是有效的。 当我启动以下查询时:

SELECT AES_DECRYPT(dbsec.tbl_credent.U_Password, 'pwd123') FROM dbsec.tbl_credent WHERE dbsec.tbl_credent.id = '6';
结果为空

我对密码使用了哈希,所以我尝试了

SELECT AES_DECRYPT(dbsec.tbl_credent.U_Password, SHA2('pwd123',512)) FROM dbsec.tbl_credent WHERE dbsec.tbl_credent.id = '6';
结果是73656372657454657874

由于所有这些都不起作用,我直接进行了测试:

SELECT AES_DECRYPT(AES_ENCRYPT('secretText', SHA2('pwd123',512)), 'pwd123');
同样,结果为空且为空

再次返回73656372657454657874

我要怎么做才能找回我加密的“秘密文本”?
U_密码的类型为文本(拉丁语1_瑞典语ci),顺便说一句。

用户密码通常不应加密。这是如何使用MySQL的?此外,U_密码只是以前版本的名称。我只是想用AES加密其中的数据。可能的
SELECT AES_DECRYPT(AES_ENCRYPT('secretText', 'pwd123'), 'pwd123');