需求是:对于插入mysql的字段进行加密,读取的时候解密本来想在java类里写,但是发现一个更简单的办法用encode和decode比如:INSERT INTO tbl_vip (vip_no, address) VALUES (32,encode('xiaoming', 'mykey'));
读取的时候用:select decode(address, 'mykey') from tbl_vip问题来了:如果把address字段设置成varchar,有时候无法插入数据,报1366错误,因为encode后的数据是二进制的,而varchar不兼容二进制数据后来把address set成varbinary,插入数据的时候就没问题,不报1366错了,但是对于插入的中文比如:INSERT INTO tbl_vip (vip_no, address) VALUES (32,encode('小明', 'mykey'));读取的时候就是乱码了,请问如何解决呢?或者有更好的加密 解密手段么? 感谢非常!
读取的时候用:select decode(address, 'mykey') from tbl_vip问题来了:如果把address字段设置成varchar,有时候无法插入数据,报1366错误,因为encode后的数据是二进制的,而varchar不兼容二进制数据后来把address set成varbinary,插入数据的时候就没问题,不报1366错了,但是对于插入的中文比如:INSERT INTO tbl_vip (vip_no, address) VALUES (32,encode('小明', 'mykey'));读取的时候就是乱码了,请问如何解决呢?或者有更好的加密 解密手段么? 感谢非常!
我试了是可以的