今天需要读取一个properties文件,里面存取用户名和密码,但了为安全起见,采取加密的方式,在网上搜了了一下,发现有几种方式,但个人觉得简单的还是用下面的开源jar来实现。最新版本已经发布到了1.7了。
Jasypt这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成hibernate,spring Security(Acegi)来增强密码管理。Jasypt开发团队推出了Java加密工具Jasypt 1.4,它可与Spring Framework、Hibernate和Acegi Security集成。
与项目有关的一位开发者表示,Jasypt是一个Java库,可以使开发者不需太多操作来给Java项目添加基本加密功能,而且不需要知道加密原理。
Jasypt也即Java Simplified Encryption是Sourceforge.net上的一个开源项目。在当地时间11月23号的通告中,Jasypt 1.4的新特征包括:加密属性文件(encryptable properties files)、Spring Framework集成、加密Hibernate数据源配置、新的命令行工具、URL加密的Apache wicket集成以及升级文档。
根据Jasypt文档,该技术可用于加密任务与应用程序,例如加密密码、敏感信息和数据通信、创建完整检查数据的sums. 其他性能包括高安全性、基于标准的加密技术、可同时单向和双向加密的加密密码、文本、数字和二进制文件。Jasypt也可以与Acegi Security整合也即Spring Security。Jasypt亦拥有加密应用配置的集成功能,而且提供一个开放的API从而任何一个Java Cryptography Extension都可以使用Jasypt。
Jasypt还符合RSA标准的基于密码的加密,并提供了无配置加密工具以及新的、高可配置标准的加密工具。
jasypt开源项目主页
项目地址:http://www.jasypt.org/
import org.jasypt.util.text.BasicTextEncryptor; import org.jasypt.util.text.StrongTextEncryptor; public class EncypterTest { public static void main(String[] args) { //加密 BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); textEncryptor.setPassword("password"); String newPassword = textEncryptor.encrypt("123456"); System.out.println(newPassword); // 解密 BasicTextEncryptor textEncryptor2 = new BasicTextEncryptor(); textEncryptor2.setPassword("password"); String oldPassword = textEncryptor2.decrypt(newPassword); System.out.println(oldPassword); System.out.println("--------------------------"); /** * Utility class for easily performing high-strength encryption of texts. * This class internally holds a StandardPBEStringEncryptor configured this way: * Algorithm: PBEWithMD5AndTripleDES. * Key obtention iterations: 1000. * The required steps to use it are: * Create an instance (using new). * Set a password (using setPassword(String)). * Perform the desired encrypt(String) or decrypt(String) operations. * To use this class, you may need to download and install the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files. * This class is thread-safe. */ StrongTextEncryptor ste = new StrongTextEncryptor(); //加密 ste.setPassword("password"); String encyptedResult= ste.encrypt("123456"); System.out.println("encyptedResult:"+encyptedResult); //解密 String dencyptedResult = ste.decrypt(encyptedResult); System.out.println(dencyptedResult); } } //NbxTTz53iW0d1GUphknPqg==
转自:http://inotgaoshou.iteye.com/blog/1039651
相关推荐
在提供的文件中,“新建文件夹”可能包含了一些必要的辅助文件,如测试数据或配置文件,而“cpabe”文件可能包含了具体实现CPABE的Java源代码。源码可能包括了KG、UKG、加密和解密算法的类或接口,以及可能的策略...
本文档将详细介绍一种基于Java的文件加密设计方案。 #### 二、关键技术点 1. **加密算法的选择**:在众多加密算法中,DES (Data Encryption Standard) 是一种广泛应用的标准对称加密算法。它使用56位密钥对数据...
属性加密(Attribute-Based Encryption, ABE)是一种先进的公钥加密技术,它允许用户根据他们的属性集来解密特定的消息。CP-ABE(Ciphertext-Policy Attribute-Based Encryption)是其中的一种类型,它允许数据所有...
在IT领域,特别是Java编程中,读取PDF文件的元数据是一项常见的需求,尤其是在文档管理、内容管理系统或任何需要处理大量文档的应用场景中。本文将深入探讨如何使用Java读取PDF文件的属性,如作者、标题等元数据,...
以前在我的java项目开发中,*.properties属性文件注释全部都为加密字符,不解密、编译字符的话,很难知道属性文件里面到底写了些什么东西,不知道怎么修改,后面我发现了属性文件可以有工具编译属性文件的加密字符,...
为了安装和配置提供者,可以将包含提供者的ZIP和JAR文件放置在CLASSPATH下,并编辑Java安全属性文件来设置提供者的优先级。在Sun版本的Java运行环境中,默认提供者为Sun。 #### 五、实例演示 ##### 5.1 Java环境下...
每条椭圆曲线都有其特定的数学属性,这些属性在加密过程中起到关键作用。例如,NIST推荐了一些预定义的曲线,如P-256和P-384,它们具有已知的安全性和效率特性。 "ECFieldElement.java"可能表示的是椭圆曲线上的...
Spring默认的`PropertyPlaceholderConfigurer`不直接支持加密的属性文件,但它提供了扩展点,允许我们自定义实现来处理加密后的属性。以下是一种实现方式: 1. 创建一个自定义的`PropertyPlaceholderConfigurer`...
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...
Java作为广泛应用的编程语言,提供了多种库和工具来实现PDF文件的加密。在本篇文章中,我们将深入探讨如何使用Java进行PDF加密,以及相关Jar包在这一过程中的作用。 首先,我们需要了解PDF加密的基本原理。PDF加密...
Java加密包Jasypt(Java Simplified Encryption)是一款强大的、易于使用的Java库,它提供了对应用程序中的文本、属性文件、对象等进行加密的能力。Jasypt的出现旨在简化加密过程,使得开发人员无需深入理解复杂的...
基于属性加密(Ciphertext-Policy Attribute-Based Encryption,简称CP-ABE)是一种先进的加密技术,它允许数据加密时使用一系列属性,并且只有当解密者的密钥与加密时所用的属性集匹配时,才能成功解密。这种加密...
本文将深入探讨如何在Java环境中,利用TE网络技术实现Spring配置文件的加密。 首先,我们需要理解Spring配置文件的基本结构。Spring的配置文件通常为XML格式,如`applicationContext.xml`,它包含了bean的定义、...
`java-properties-enc`库就是为了应对这一挑战,它提供了Java属性文件的加密功能,确保这些敏感数据的安全。 `java-properties-enc`库的核心功能在于扩展了Java的`java.util.Properties`类,使其能够处理加密的属性...
PDF文件在日常工作中被广泛应用,为了保护文档的安全性和防止未经授权的修改,经常需要对PDF进行加密、设置只读属性以及添加水印。本资源提供的6个jar包正是为实现这些功能而准备的,它们分别是itext-5.3系列的库和...
5. **配置Java命令行参数**:在运行Java应用程序时,可以通过设置`-Djava.security.properties`参数指向自定义的安全属性文件,其中可以指定更宽松的密钥长度限制。 无论选择哪种方法,都需要确保符合法律法规,...
开发者可以通过编写符合接口规范的代码,创建自己的加密供应器,然后将其安装到系统的CLASSPATH中,并在Java安全属性文件中进行配置,以启用和管理这些供应器。 在电子商务场景下,IDEA加密算法的应用能够有效地...
默认情况下,它并不开启加密,但可以通过设置`mail.pop3.socketFactory.class`属性为`javax.net.ssl.SSLSocketFactory`来启用SSL加密,提高安全性。 2. **IMAP(Internet Message Access Protocol)**: - IMAP是...