`
反求诸己
  • 浏览: 543130 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

加密工具解决方案

 
阅读更多

为Hibernate配置文件加密的三套解决方案(二):

 

转自:http://sklst.javaeye.com/blog/284689

提要:本文将详细介绍使用Jasypt的加密功能为Hibernate配置文件加密 

首先来了解什么是Jasypt

引用
Jasypt这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成hibernate,Spring Security(Acegi)来增强密码管理。



你可以从SourceForge.net下载最新的Jasypt(目前的最新版本是1.5) 
另外,使用Jasypt还需要几个Jar包的支持,分别是: 
commons-codec-1.1.jar 和 commons-lang-2.1.jar这在你下载Jasypt压缩包的lib目录里已经附带了,如果你是Java SE 5或更早的版本,就需要ICU3.4.4或更高版本的支持,这些文件都可以在Jasypt网站的Dependencies项下找到。 

另外,我们要了解一下Jasypt的加密方式,Jasypt提供了多种的加密方式,更允许用户自己编写加密方法,或使用Java增强加密算法(譬如 TripleDES)也可添加相应的包来扩展。 
这里只介绍Jasypt默认的加密方法,其他方法感兴趣的朋友可以自己去研究; 
Jasypt默认使用了对称加密的方法,即加密密钥和解密密钥是相同的,流程如下

引用
明文(可以是要加密的密码) + 密钥 =Jasypt默认算法=> 密文


解密过程与之相反 
为了得到密文,我们先要使用Jasypt自带的工具,在下载Jasypt压缩包的bin目录中有如下文件:

引用
decrypt.bat 
decrypt.sh 
digest.bat 
digest.sh 
encrypt.bat 
encrypt.sh 
jasypt-cli-bundle.jar 
README_IMPORTANT.txt


我们要用到encrypt命令来实现上面的过程加密明文,命令如下:

Console代码 复制代码
  1. encrypt input=明文(可以是密码) password=密钥   


上面的明文和密钥都不要加引号,output就是需要的密文,将其记录下来 
得到密文以后,工作就很简单了 

首先在你的项目中添加需要的包(jasypt-1.5.jar, commons-codec-1.1.jar, commons-lang-2.1.jar, icu4j-4_0.zip) 
之后修改hibernate.cfg.xml文件

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <!DOCTYPE hibernate-configuration PUBLIC   
  3.     "-//Hibernate/Hibernate Configuration DTD//EN"   
  4.     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5.        
  6. <hibernate-configuration>  
  7.   <session-factory>  
  8.        
  9.     <property name="connection.provider_class">  
  10.        org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider   
  11.     </property> <!-- 这个是添加的provider类 -->  
  12.     <property name="connection.encryptor_registered_name">  
  13.        configurationHibernateEncryptor   
  14.     </property> <!-- 这里是加密密钥 -->  
  15.        
  16.     <property name="connection.url">jdbc:mysql://localhost/reportsdb</property>  
  17.     <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
  18.     <property name="connection.username">reportsUser</property>  
  19.     <property name="connection.password">ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)</property><!-- 这里的格式是ENC(密文) -->  
  20.     <property name="connection.pool_size">12</property>  
  21.   
  22.     <property name="show_sql">true</property>  
  23.     <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
  24.        
  25.     <!-- Mappings etc... -->  
  26.            
  27.    </session-factory>  
  28. </hibernate-configuration>  


上面标注的地方是必须的,其他可以按照自己的实际配置,重新编译项目,就完成了。

 

分享到:
评论

相关推荐

    Jar包保护加密解决方案

    因此,"Jar包保护加密解决方案"成为了一个重要的议题。 首先,我们要理解jar包的加密需求。加密的主要目的是保护代码不被非法读取或修改,防止知识产权被盗用,以及避免恶意攻击者注入恶意代码。对于在有容器环境下...

    简单文件夹加密工具 v1.0

    总之,【简单文件夹加密工具 v1.0】是一个为普通用户提供快速文件夹加密的解决方案,它的核心原理可能是通过修改注册表实现文件夹的隐藏。尽管它可能不是最安全的加密方式,但对于不涉及高度敏感信息的个人用户来说...

    台电U盘加密工具

    总的来说,台电U盘加密工具结合了数据加密和防病毒功能,为U盘用户提供了一站式的安全解决方案,确保他们的数据在移动存储过程中保持私密和安全。同时,其易用性和配套的使用指南,使得这种高级的保护措施对普通用户...

    系统核心配置项加密解决方案

    为了保护这些信息不被未授权的用户访问,实施核心配置项的加密解决方案至关重要。本文将深入探讨一种基于Java的加密配置方法,通过分析`CryptPropertiesFactoryBean.java`这个文件来理解如何在源码级别实现这一功能...

    输入表加密工具

    综上所述,输入表加密工具是一款集安全性、易用性于一体的加密解决方案,尤其适用于那些需要保护敏感数据的个人和组织。通过高效加密算法、特征码免杀技术和精细的权限管理,它为用户的数据安全构建了一道坚固的防线...

    wil文件加密工具

    "wil文件加密工具"通过提供简便的加密解决方案,为处理和存储.wil文件的安全性提供了有力保障。了解.wil文件的性质,认识到文件加密的重要性,以及掌握正确的加密工具使用方法,是每个IT专业人员和企业保护数据资产...

    word文档加密工具

    总的来说,"Word文档加密工具"是现代办公环境中一种实用的安全解决方案,尤其适用于需要分享敏感信息但又希望保持隐私的场合。合理使用此类工具,可以有效防止数据泄露,保护个人和企业的信息安全。

    军用加密工具.rar(王牌软件)

    在传输方面,军用加密工具也能提供安全的解决方案,如通过安全的端到端加密通信协议(如SSL/TLS)进行数据传输,确保信息在互联网上流动时不会被截取或篡改。此外,部分工具还支持创建自解压文件,接收者无需安装...

    文件及U盘加密工具-免费版

    总的来说,这款“文件及U盘加密工具-免费版”是为普通用户提供的一种数据保护解决方案,它通过加密技术帮助用户保护个人和重要信息,防止数据被窃取或误用。尽管是免费的,但它的功能和安全性仍然值得信赖。用户只需...

    方群联PS2251主控U盘加密工具

    方群联(Phison)是一家知名的存储解决方案提供商,其产品广泛应用于各类闪存设备,包括U盘。在本文中,我们将深入探讨“方群联PS2251主控U盘加密工具”,这是一种专为使用该主控芯片的U盘设计的安全加密软件。 方...

    史上最好的移动加密工具

    总的来说,"史上最好的移动加密工具"应当是结合了强大加密技术、用户友好界面和全面功能的解决方案,旨在保护用户的隐私和数据安全。通过深入理解和使用提供的"U_Lock.exe"和"使用说明.txt",用户可以充分利用这款...

    隐私文件加密工具U盘、移动硬盘加密工具

    标题提到的“隐私文件加密工具”是一种专门用于U盘和移动硬盘的数据安全解决方案。这类工具的主要目的是确保存储在这些便携式设备上的信息不被未经授权的用户访问。接下来,我们将详细讨论这种加密工具的功能、工作...

    小强密码加密工具盒 demo

    对于经常需要处理大量密码的用户来说,"小强密码加密工具盒"无疑是一个高效且安全的解决方案。它不仅可以避免因忘记密码而造成的困扰,还能减少因重复使用密码带来的安全隐患。在日常生活中,我们应当重视密码安全,...

    JKS 输入表加密工具

    总的来说,"JKS 输入表加密工具"是保护数据安全的重要工具,尤其对于依赖Java环境的组织和个人来说,它能提供可靠的数据加密解决方案。正确使用和理解这款工具,可以帮助我们在数字化世界中更好地保护我们的信息安全...

    宏杰加密工具 加密加密

    2. 文件夹加密:对于包含大量文件的文件夹,宏杰加密工具提供了整体加密解决方案。用户可以将整个文件夹加密为一个独立的加密包,便于管理和传输。 3. 移动存储设备加密:考虑到U盘、移动硬盘等移动存储设备的易...

    png 图片压缩加密工具

    总的来说,PNG图片压缩加密工具是一种实用的软件,它结合了图片压缩和加密技术,为那些需要处理大量PNG图像并确保数据安全的用户提供了一个便捷的解决方案。无论是个人还是企业,尤其是在处理包含敏感信息的图像时,...

    电脑文件夹加密工具&文件夹保护

    "电脑文件夹加密工具&文件夹保护"的标题和描述正针对这一需求,提供了便捷的解决方案。 文件夹加密是一种技术手段,它通过特定的算法对文件或文件夹进行编码,使其在未经许可的情况下无法访问。这种加密过程使得...

    U盘、移动硬盘加密工具

    总的来说,"U盘、移动硬盘加密工具"是确保移动存储设备中数据安全的有效解决方案。通过选择合适的加密软件,设置强密码,并遵循良好的数据管理习惯,用户可以安心地在各种场合使用U盘和移动硬盘,而不必担心数据安全...

    简单实用的加密工具

    总的来说,"简单实用的加密工具"提供了一种便捷的解决方案,让普通用户也能轻松管理和保护自己的数字资产。通过理解加密的基本原理和合理使用,我们可以更好地保护我们的个人信息,防范数据泄露的风险。

Global site tag (gtag.js) - Google Analytics