我试图使用相应的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),顺便说一句。