由于公司业务需要,需要对已有的数据进行加密, 由于数据加密之后需要可逆的解密,最先考虑使用encode,decode函数;在实际使用的过程遇到加密数据解密之后得不到原本的值,后发现是由于字符集不正确,只需要改为latin1就可以了。接着又发现encode,decode不能对中文进行加密,尝试了所有的字符集仍不可行,于是考虑换个加密解密算法,修改为AES_ENCRYPT,AES_DECRYPT,,问题解决。附上例子一个:
INSERT INTO user set `name`='mmememmeem',`Pwd`='123',`info`=AES_ENCRYPT('啦啦23343啦$%$%^^&啦啦','123456');
SELECT *,AES_DECRYPT(`info`,'123456') FROM user WHERE Id=49查询结果如下:
多尝试,说不定解决方法就蹦出来了,看到网上很多文章都说不能加密解密,特此附上本人解决方案。
本文介绍了在实际工作中遇到的数据加密问题及解决方案。起初使用encode,decode函数无法正确处理中文数据,通过调整字符集为latin1仍未解决问题。最终采用AES_ENCRYPT和AES_DECRYPT算法成功实现对包括中文在内的数据进行加密和解密。
1208

被折叠的 条评论
为什么被折叠?



