1. 程式人生 > >hibernate的hibernate.cfg.xml的使用者名稱密碼加密

hibernate的hibernate.cfg.xml的使用者名稱密碼加密

hibernate的cfg.xml配置檔案使用者名稱密碼是明文存放,配置檔案裡的引數資訊解析都是通過provider_class負責。定義一個子類繼承provider_class連線供應類。

1、這裡我用的是c3p0的連線供應類,故要繼承C3P0ConnectionProvider

package utils;

import java.util.Map;

import org.hibernate.HibernateException;
import org.hibernate.c3p0.internal.C3P0ConnectionProvider;
import org.hibernate.cfg.Environment;

public class CustomDriverManagerConnectionProvider extends C3P0ConnectionProvider {
	
	public CustomDriverManagerConnectionProvider() {
		super();
	}
	/*
	* (non-Javadoc)
	* 
	* @see org.hibernate.connection.DriverManagerConnectionProvider#configure(java.util.Properties)
	*/
	@Override
	public void configure(Map props) throws HibernateException {
		String user = (String)props.get(Environment.USER);
		String password = (String)props.get(Environment.PASS);
		if(ToolUtils.stringIsNull(user)){
			 throw new HibernateException("資料庫帳號不能為空!");
		}
		if(ToolUtils.stringIsNull(password)){
			 throw new HibernateException("資料庫密碼不能為空!");
		}
		//解密
		AESUtils aes = new AESUtils();
		props.put(Environment.USER, aes.decode(user));
		props.put(Environment.PASS, aes.decode(password));
		super.configure(props);
	}
}
重寫configure方法,並在configure中對使用者名稱、密碼進行解密(可以隨意用任何加解密方式),再呼叫父類的configure方法

2、把自定義的連線提供類配置到hibernate.cfg.xml

<property name="hibernate.connection.provider_class">utils.CustomDriverManagerConnectionProvider</property>



相關推薦

hibernate的hibernate.cfg.xml的使用者名稱密碼加密

hibernate的cfg.xml配置檔案使用者名稱密碼是明文存放,配置檔案裡的引數資訊解析都是通過provider_class負責。定義一個子類繼承provider_class連線供應類。 1、這裡我用的是c3p0的連線供應類,故要繼承C3P0ConnectionPr

學院 - 密碼學加解密實訓(Zip偽加密)

zip格式檔案偽加密 實踐是檢驗真理的唯一標準 簡介 zip檔案是一種壓縮檔案,可進行加密,也可不加密。而偽加密是在未加密的zip檔案基礎上修改了它的壓縮原始檔目錄區裡的全域性方式位標記的位元值,使得壓縮軟體開啟它的時候識別為加密檔案,提示輸入密碼, 而在這個時候,不管

Tomcat的server.xml中的證書密碼加密

現在網路安全越來越重要,但是開發過程中還會出現明文密碼的問題。 我們使用Tomcat配置https,以為很安全了,但是證書密碼配置的是明文,如果是RSA的加密套件, 則使用wireshark是可以直接解密的,前提是如果能拿到證書的密碼。 所以需要對證書的密碼進行加密儲存

用戶登錄註冊之數據庫密碼加密

password private 數據庫連接 用戶登錄 數據加密 在連接數據時,用戶名密碼都是明文,最近網上查資料,使用DES對其進行加密;同時用戶註冊後,密碼都沒有進行加密,對於數據庫裏面數據加密,可以使用password函數直接進行加密,也可以自定義加密,比如使用DES加密。

關於druid數據庫密碼加密流程及問題

reat 如果 命令 -c init 被拒絕 進行 true ora 最近項目中需要在配置中將數據庫密碼加密,就使用了阿裏的druid來實現,將流程和問題和大家分享一下。 項目使用的是Spring加jetty,原先數據庫連接使用的是Apache的DBCP:commons-d

使用druid 數據池對連接密碼加密

監控 private ckey 命令 所在 public asc 密碼加密 under 使用druid 數據池對連接密碼加密 1、使用maven導入druid的jar包 <!-- https://mvnrepository.com/artifact/com.ali

將jdbc連接明文密碼加密方案

ava encoding host exce allow ren 生成 lock message 最近沒有及時寫文章,把最近處理的幾個問題集中了一下寫出來。這篇文章是關於如何處理spring項目中引入數據庫連接等 使用的用戶名和密碼的明文進行加密。防止被他人竊取利

凱撒密碼加密解密--JAVA實現(基礎)

soft ring java實現 sta 想是 clas pub sof print 凱撒密碼一種代換密碼,據說凱撒是率先使用加密函的古代將領之一,因此這種加密方法被稱為愷撒密碼。凱撒密碼的基本思想是:通過把字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向

Hibernate-hibernate.cfg.xml基礎配置

jdbc connect nat 刪除 常用 oct localhost 連接數據庫 color <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLI

Hibernate--hibernate.cfg.xml配置

req pin 每次 valid mysq db_name local .hbm.xml for 數據庫連接<required>: <property name="hibernate.connection.driver_class">  com

(五)密碼加密

cep pla runtime ati etc 激活碼 msg [] javax package com.louis.utils; import java.math.BigInteger; import java.security.MessageDigest;

SSH之hibernate.cfg.xml

ring mysqld current day6 span pan odi intern dom <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLI

密碼加密和解密

加密 代碼 cnblogs void logs tint image () com 1.程序設計思路 設置兩個功能,加密和解密,加密時先算ASCII值,然後根據規則改變ASCII值,輸出對應的加密字符串,解密時,同樣算出字符串的ASCII,根據規則改變ASCII值,輸出對應

MD5用戶密碼加密工具類 MD5Util

void 十六進制 i++ case per pri mms java 創建 一般記錄用戶密碼,我們都是通過MD5加密配置的形式。這裏記錄一下,MD5加密的工具類。 package com.mms.utils; import java.security.Me

hibernate.cfg.xml

tar 文件 article hive cfg.xml blog logs 主鍵 生成策略 Hibernate配置文件的配置說明: Hibernate 映射配置:http://blog.csdn.net/qq_34944851/article/details/5370099

JDBC的配置文件,郵件,密碼加密工具類

協議 登錄驗證 substring mon smtp getc getclass authent protoc 配置文件 url=jdbc:mysql:///sysclassName=com.mysql.jdbc.Driverusername=rootpassword=

Hibernate學習(2)- hibernate.cfg.xml詳解

source nec cfg 更新 閱讀 username 詳解 格式化sql BE 1:主配置文件主要分為三部分:    註意:通常情況下,一個session-factory節點代表一個數據庫;    1.1:第一部分       數據庫連接部分,註意"hibernate

常用密碼加密解密操作相關類

buffer mode [] from emd right md5 加密 mqx iis6 /// <summary> /// 密碼加密解密操作相關類 /// </summary> public static cla

django註冊在使用hashlib對密碼加密時報Unicode-objects must be encoded before hashing

使用 之前 clas 增加 () 加密 hashlib enc -o 在使用sh1等hashlib方法進行加密時報:Unicode-objects must be encoded before hashing 解決辦法:對要加密的字符串指定編碼格式 解決之前: s1=sh

django實現密碼加密的註冊(數據對象插入)

ces cts AD .sh hash .get RF HA cnblogs 在 django實現密碼非加密的註冊(數據對象插入)的基礎上,我們對視圖和註冊頁面進行了簡單修改 視圖 from django.shortcuts import render,redirect,