oracle实现sha加密解密,oracle部分字段加密解密 实现模糊搜索
数据库部分字段加密 实现该字段模糊查询
解决方案:从数据库层面 对改字段进行解密 是目前最为方便的 而oracle可以支持将java类带入到oracle从而调用对应的方法。
基本步骤:
编写好对应的加密解密类,方法为静态方法static修饰。
将其打包为jar包
oracle数据库导入
编写对应的函数function或者存储过程procedure[不需要返回值的就写存储过程]
在sql里面调用
1. 编写加密解密类
image.png
此处需要特别注意oracle里面调用的方法必须为静态方法
2. 打包jar包
image.png
3. 导入oracle数据库
命令如下 :
loadjava -r -f -verbose -resolve -user scott/tiger@orcl des-1.0-SNAPSHOT.jar
然后正常你就会看到:
image.png
需要特别注意oracle的用户名和密码已经对应的实例
4. 编写function
当然你需要查看下是不是导入成功了
命令如下:在sql里面执行
select * from user_java_classes;
image.png
接着,你就可以编写function了
--加密
create or replace function sven_encrypt(str varchar2,key varchar2) return varchar2 as
LANGUAGE JAVA NAME 'com/epoint/utility/code/DES.encrypt(java.lang.String,java.lang.String) return java.lang.String';
--解密
create or replace function sven_decrypt(str varchar2,key varchar2) return varchar2 as
LANGUAGE JAVA NAME 'com/epoint/utility/code/DES.decrypt(java.lang.String,java.lang.String) return java.lang.String';
然后你可以查询下,是否写入成功:select * from user_objects where object_type = 'FUNCTION';
5. sql里面掉调用方法
-- dept表 三个字段 deptno dname loc
--一些测试数据,加密当然可以选择在后台java代码执行
insert into dept values(70,sven_encrypt('测试部','svensven'),'kkk');
insert into dept values(80,sven_encrypt('技术部','svensven'),'kkk');
insert into dept values(90,sven_encrypt('咨询部','svensven'),'kkk');
insert into dept values(1000,sven_encrypt('开发部','svensven'),'kkk');
insert into dept values(110,sven_encrypt('实施部','svensven'),'kkk');
--解密模糊查询
select d.*, sven_decrypt(d.testname,'svensven') from dept d where sven_decrypt(d.testname,'svensven') like '%部%';
image.png
image.png
oracle实现sha加密解密,oracle部分字段加密解密 实现模糊搜索相关推荐
- oracle数据库+字段加密,ORACLE 加密(TDE) 对字段加密测试
ORACLE TDE(Transparent Data Encryption) 参考http://space.itpub.net/17203031/viewspace-681943 1.查看版本,OR ...
- oracle 字段加密解密方法,oracle 字段加密解密方法
要用到DECRYPT方法对数据解密和ENCRYPT方法加密 1.首先通过sys用户登录到oracle数据库,因为我们要通过这个用户来设置一些高级权限 grant execute on DBMS_cry ...
- oracle 加密怎么解密,oracle加密encrypt,解密decrypt,
oracle加密encrypt,解密decrypt, 目录 oracle加密encrypt,解密decrypt加密 解密 oracle加密encrypt,解密decrypt 有的oracle版本没有加 ...
- 使用wrap和unwrap加密解密Oracle的PL/SQL对象(包,存储过程,函数等)代码
使用wrap和unwrap加密解密Oracle的PL/SQL对象(包,存储过程,函数等)代码 Oracle数据库系统自带的PL/SQL对象(包,存储过程,函数等)的代码绝大部分都是使用了wrap程序加 ...
- oracle 加密成,Oracle wrap加密 和 unwrap解密过程!
在一些代码中,使用wrap加密,经过加密的存储过程等不能查看,oracle也没有公布unwrap方法,但这也难不倒一些喜欢专研的大神,Oracle加密的原理就是先对源码进行lz压缩lzstr,然后对压 ...
- oracle加密 解密,oracle加密encrypt,解密decrypt
本文将为您描述oracle加密encrypt,解密decrypt,教程操作步骤:oracle加密encrypt,解密decrypt 目录 oracle加密encrypt,解密decrypt 加密 解密 ...
- oracle md5 重复,33-SQLServer和Oracle使用MD5加密字符串不一致的问题
一.总结 1.varchar: 可变长度的非Unicode字符数据.n的值必须在1到8000之间.n是2的话,表示2个字节,所以可以存储2个英文,只能存储1个中文. nvarchar: 可变长度的Un ...
- mybaits plus 字段加密与解密
mybaits plus 字段加密与解密 写在前面 在我们实际开发中有的时候需要保证数据的安全,那么这个时候我们就需要对我们存储的数据加密,数据加密可以用很多方法实现,比如数据库加密,java代码加密 ...
- oracle12c加密ted,Oracle数据透明加密-TDE
介绍 Oracle 10g R2提供了一个新的特性,让你只需要做如下动作:你可以不写一行代码,只需要声明你需要加密某列.当用户插入数据的时候,数据库透明的加密数据然后存储加密后的数据.同样的,当用户读 ...
最新文章
- spring+mybatis之声明式事务管理初识(小实例)
- centos yum 安装java_Linux Centos 使用 yum 安装java
- linux c 封装redis,封装hiredis——C++与redis对接(一)(string的SET与GET操作)
- 如何使用Action.Invoke()触发一个Storyboard
- 北京人工智能工程师职称评定政策出台,明年起一年一评
- 利用 OpenMP 实现埃拉托斯特尼(Eratosthenes)素数筛法并行化
- HDU3784 继续xxx定律【角谷猜想】
- Java 绘制艺术图案
- 记一次“U盘拔出”后重要文件丢失的恢复之旅
- 手机CAD如何快速看图下载?
- Java Lambda 归约 reduce
- 什么是Scheme?原来还可以这样应用!
- Matlab肤色分割
- 计算机二级操作题相关笔记
- 英特尔Haswell处理器已出货 预计6月推出
- 【车载开发系列】UDS诊断---DTC故障码基础回顾
- python微信公众号翻译功能_自学Python笔记:给微信公众号搭建“成绩查询”功能...
- Linux下的Cannot find a valid baseurl for repo: base/7/x86_64问题记载
- JTAG接口和SWD接口定义
- (16)调度代码周期性运行
热门文章
- python 素描化图像_任意图像转素描:Python分分钟实现
- HTML实现取餐小票
- 笔记本已连接过的wifi密码忘记,如何查看?
- 为什么大部分对特斯拉的公众认知都是错误的呢?
- STM32F765 调试MAX31856 经验总结
- 前端16天--IFC、BFC、H5新特性、选择器、伪类元素、扩展盒模型、圆角、盒子阴影等--2021/4/21
- 苹果CMSv10首款原创支持百度mip技术自适应视频模板
- 洛谷 P1506 拯救oibh总部 题解(洪水填充法的模板)
- 全连接神经网络VS卷积神经网络基本概念理解
- Android面试题整理(源自鸿洋大神公众号【201803】的一篇BAT面试题推送)