第一个问题:编码后存储到数据库是乱码,读出来也是乱码:
最近要做一个隐私功能,希望把用户的数据都加密存储到数据库中,用的是DES加密,具体自行百度。问题是,我在加密后,存储到数据库后,是乱码,百思不解,后来同事的帮助下,改了类型,就好了。
原来用的是这样的定义:
TITLE + " TEXT,"
改成:
VARCHAR
就不乱码了。但是这样涉及到改数据类型,怕造成和以前的版本不兼容,于是我继续找办法。
在这篇博客的最后,它这样写的:
http://blog.163.com/zhangye_vs/blog/static/2201770632013101253943475/
调用:
加密:byte[] temp = CryptoTools.des3EncodeECB(str.getBytes("UTF-8"));
message = new String(Base64.encode(temp, Base64.DEFAULT),"UTF-8");
解密:byte[] tmpt;
tmpt = Base64.decode(str.getBytes("UTF-8"), Base64.DEFAULT);
tmpt = CryptoTools.ees3DecodeECB(tmpt);
str = new String(tmpt,"UTF-8");
<