MySql AES-Decrypted Field为空

时间:2014-12-07 15:35:16

标签: mysql aes

我试图使用相应的MySQL函数对数据进行en-and decypt。 这就是我所做的:

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';

结果是 NULL

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

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');

结果再次是 NULL

SELECT AES_DECRYPT(AES_ENCRYPT('secretText', 'pwd123'), 'pwd123');

再次返回 73656372657454657874

我需要做些什么才能找回' secretText'我加密了吗? U_Password的类型是文本(latin1_swedish_ci),顺便说一句。

0 个答案:

没有答案