package test;

import org.gjt.mm.mysql.Driver;

import java.sql.*;
import java.util.Properties;
import java.util.logging.Logger;

public class EncryptJDBC extends Driver{

public static void main(String[] args) throws SQLException, ClassNotFoundException {

Class.forName(EncryptJDBC.class.getName());
DriverManager.registerDriver(new EncryptJDBC());
Connection conn = DriverManager.getConnection("zpc:test1");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(" select * from datasource_group_info ");
while(rs.next())
{
System.out.println(rs.getInt(1)+"\t"+rs.getString(2) +rs.getString("type"));
}
conn.close();
}

public static String getURLByKey(String key)
{
if("zpc:test1".equals(key))
return "jdbc:mysql://10.27.89.6:3306/mydb";
else
return null;
}

public static void getPropertiesByKey(String key,Properties props)
{
props.setProperty("user", "zzz");
props.setProperty("password", "ppp");
}

public CryptedJDBC() throws SQLException {
}

public Logger getParentLogger() throws SQLFeatureNotSupportedException {
return null;
}

@Override
public boolean acceptsURL(String url) throws SQLException {
if(url.startsWith("zpc:"))
{
return true;
}
return false;
}

@Override
public Connection connect(String key, Properties info) throws SQLException {
String realurl = getURLByKey(key);
getPropertiesByKey(key, info);
return super.connect(realurl, info);
}
}

数据源加密-JDBC调用方式加密示例的更多相关文章

  1. AES加密 C++调用Crypto++加密库 样例

    这阵子写了一些数据加密的小程序,对照了好几种算法后,选择了AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES).听这名字就非常厉害的样子 预计会搜索到这 ...

  2. JDBC 调用存储过程代码示例

    曾经有过一个两层构架的时代,前台就是界面,后台就是存储过程,存储过程把业务逻辑和数据操作一手包办了. 用存储过程写东西比较复杂,大部分Java程序员或许都对此不太了解,因为我们如今的三层架构使用高级语 ...

  3. RSA加密原理使用方式签名验证

      RSA加密原理使用方式签名验证 加密是网络传输中非常重要的一环,它保证了信息的安全性,让他人无法通过抓包来获取通讯的信息也无法通过伪造信息而实现对系统的入侵.其中最为常用的信息传递加密方式就是RS ...

  4. 关于cocos2dx手游lua文件加密的解决方式

    非常多使用cocos2dx+lua做游戏的同学.都会想到一个问题,我的游戏一旦公布,如何才干保证的我脚本代码不被破解.不泄露代码.尽管这和开源.共享的原则不合.可是代码也是coder的劳动成果,理应得 ...

  5. RAC集群数据库连库代码示例(jdbc thin方式,非oci)

    1.RAC集群数据库连库代码示例(jdbc thin方式,非oci):jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc ...

  6. PHP 识别 java 8位 des 加密和 解密方式

    代码及使用说明: <?php /** *PHP 识别 java 8位密钥的加密和解密方式 *@desc 加密方式 通用 */ class DES { var $key; var $iv; //偏 ...

  7. PHP DES解密 对应Java SHA1PRNG方式加密

    背景及问题 背景:在和外部系统通过HTTP方式跳转时, 为保障传输参数安全性, 采用AES 加密参数. 关于对称加密中 AES, DES, CBC, ECB, PKCS5Padding 概念可参考ht ...

  8. Python: packer方式加密js代码之解密函数

    起源: 解析一网站时,发现其视频信息为一段js代码动态生成,而此段js代码,是用packer加密的. 其加密后的代码段如下: eval(function(p,a,c,k,e,d){e=function ...

  9. Java数据库连接——JDBC调用存储过程,事务管理和高级应用

    一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...

随机推荐

  1. VMware Workstation不能启用虚拟设备floppy0由于灭有相应的有效设备在主机上. 你要尝试在每次打开虚拟机电源时连接此虚拟设备?

    编辑虚拟机的硬件,把软盘取消掉,floppy的提示就没有了

  2. Xcode 5.1 更新后插件不能用

    打开目录 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 右击选择"显示包内容" 找到"Inf ...

  3. (转)C++设计模式——观察者模式

    转自:http://www.jellythink.com/archives/359 前言 之前做了一个性能测试的项目,就是需要对现在的产品进行性能测试,获得测试数据,然后书写测试报告,并提出合理化的改 ...

  4. Hive - 建表和加载数据指令小结 以及使用Load data指令的注意事项

    类似Mysql的数据库概念: hive> CREATE DATABASE cui; hive> USE cui; 创建表: CREATE TABLE test( first STRING, ...

  5. LAMP 环境 快速安装

    (一)安装Apache 1.下载安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 yum install zlib-devel -y wget http://m ...

  6. Oracle的硬解析和软解析

    提到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程.当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进 ...

  7. .net生成随机验证码图片

    /// <summary> /// 自定义图片验证码函数 /// 该函数将生成一个图片验证码,并将生成的code存放于Session["VerifyCode"]变量内. ...

  8. 浅谈.prop() 和 attr() 的区别

    今天编码时遇到一个问题,通过后台查询的数据设置前端checkbox的选中状态,设置选中状态为.attr('checked','true');没有问题,但是当数据重新加载时,checkbox应清空即所有 ...

  9. uploadify实现七牛云存储 显示上传进度+页面显示

    准备: uploadify下载地址: http://www.uploadify.com/download/ 七牛 php-sdk开发指南: http://developer.qiniu.com/doc ...

  10. Axure草记

    页面控件和DataSet绑定,DataSet和输入控件绑定(通过临时变量) 双击Repeater进入之后,你会发现下面已经默认添加了3行,这代表着,每增加一行将会重复3遍: Repeater可以只是部 ...