您的位置:首页 > 健康 > 养生 > 扬中seo_江苏省城乡和住房建设厅网站_2023能用的磁力搜索引擎_seo门户网

扬中seo_江苏省城乡和住房建设厅网站_2023能用的磁力搜索引擎_seo门户网

2025/3/30 21:19:43 来源:https://blog.csdn.net/chc183/article/details/146495984  浏览:    关键词:扬中seo_江苏省城乡和住房建设厅网站_2023能用的磁力搜索引擎_seo门户网
扬中seo_江苏省城乡和住房建设厅网站_2023能用的磁力搜索引擎_seo门户网

背景:在做简单加密并往oracle数据库插值时发现char值超过128会导致库里乱码;大佬领导研究以后发现大概是如下问题:

解决的关键点:

转字节流;

结合oracle函数UTL_RAW.CAST_TO_RAW()、UTL_RAW.CAST_TO_VARCHAR2()。

/*** 转字节* * @param c* @return*/private byte[] to_bytes(char c) {int i = (int) c;if (i > 0xFF) {CharBuffer cb = CharBuffer.wrap(new char[] { c });ByteBuffer bb = charset.encode(cb);return bb.array();} else {return new byte[] { (byte) i };}}/*** 加密* * @param password* @return*/private byte[] encode(String password) {ByteArrayOutputStream out = new ByteArrayOutputStream();int j = 1;for (char c_p : password.toCharArray()) {byte[] bytes = to_bytes(c_p);for (byte b : bytes) {int c = b & 0xFF;int cc = (j % 2 == 0) ? (c + j - 32) : (c - j + 8);out.write(cc);j++;}}return out.toByteArray();}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com