`

java 属性文件加密

    博客分类:
  • java
 
阅读更多

今天需要读取一个properties文件,里面存取用户名和密码,但了为安全起见,采取加密的方式,在网上搜了了一下,发现有几种方式,但个人觉得简单的还是用下面的开源jar来实现。最新版本已经发布到了1.7了。

 

Jasypt这个Java类包为开发人员提供一种简单的方式来为项目增加加密功能,包括:密码Digest认证,文本和对象加密,集成hibernatespring 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属性加密JAVA源码实现

    在提供的文件中,“新建文件夹”可能包含了一些必要的辅助文件,如测试数据或配置文件,而“cpabe”文件可能包含了具体实现CPABE的Java源代码。源码可能包括了KG、UKG、加密和解密算法的类或接口,以及可能的策略...

    JAVA文件加密设计

    本文档将详细介绍一种基于Java的文件加密设计方案。 #### 二、关键技术点 1. **加密算法的选择**:在众多加密算法中,DES (Data Encryption Standard) 是一种广泛应用的标准对称加密算法。它使用56位密钥对数据...

    CP-ABE基于密文策略的属性加密(JAVA源码)

    属性加密(Attribute-Based Encryption, ABE)是一种先进的公钥加密技术,它允许用户根据他们的属性集来解密特定的消息。CP-ABE(Ciphertext-Policy Attribute-Based Encryption)是其中的一种类型,它允许数据所有...

    java读取pdf文件属性

    在IT领域,特别是Java编程中,读取PDF文件的元数据是一项常见的需求,尤其是在文档管理、内容管理系统或任何需要处理大量文档的应用场景中。本文将深入探讨如何使用Java读取PDF文件的属性,如作者、标题等元数据,...

    【精华】编译属性文件的加密字符

    以前在我的java项目开发中,*.properties属性文件注释全部都为加密字符,不解密、编译字符的话,很难知道属性文件里面到底写了些什么东西,不知道怎么修改,后面我发现了属性文件可以有工具编译属性文件的加密字符,...

    Java 的IDEA 加密算法加密和数字签名编程

    为了安装和配置提供者,可以将包含提供者的ZIP和JAR文件放置在CLASSPATH下,并编辑Java安全属性文件来设置提供者的优先级。在Sun版本的Java运行环境中,默认提供者为Sun。 #### 五、实例演示 ##### 5.1 Java环境下...

    Java_ECC.rar_ECC解密_ecc加密_java ECC加密_java实现ecc_椭圆曲线加密

    每条椭圆曲线都有其特定的数学属性,这些属性在加密过程中起到关键作用。例如,NIST推荐了一些预定义的曲线,如P-256和P-384,它们具有已知的安全性和效率特性。 "ECFieldElement.java"可能表示的是椭圆曲线上的...

    在Spring中使用加密外部属性文件

    Spring默认的`PropertyPlaceholderConfigurer`不直接支持加密的属性文件,但它提供了扩展点,允许我们自定义实现来处理加密后的属性。以下是一种实现方式: 1. 创建一个自定义的`PropertyPlaceholderConfigurer`...

    JAVA_API1.6文档(中文)

    java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...

    PDF加密所需Jar包

    Java作为广泛应用的编程语言,提供了多种库和工具来实现PDF文件的加密。在本篇文章中,我们将深入探讨如何使用Java进行PDF加密,以及相关Jar包在这一过程中的作用。 首先,我们需要了解PDF加密的基本原理。PDF加密...

    java源码:Java加密包 Jasypt.zip

    Java加密包Jasypt(Java Simplified Encryption)是一款强大的、易于使用的Java库,它提供了对应用程序中的文本、属性文件、对象等进行加密的能力。Jasypt的出现旨在简化加密过程,使得开发人员无需深入理解复杂的...

    密文策略下的的基于属性加密

    基于属性加密(Ciphertext-Policy Attribute-Based Encryption,简称CP-ABE)是一种先进的加密技术,它允许数据加密时使用一系列属性,并且只有当解密者的密钥与加密时所用的属性集匹配时,才能成功解密。这种加密...

    spring配置文件加密实现

    本文将深入探讨如何在Java环境中,利用TE网络技术实现Spring配置文件的加密。 首先,我们需要理解Spring配置文件的基本结构。Spring的配置文件通常为XML格式,如`applicationContext.xml`,它包含了bean的定义、...

    java-properties-enc:java属性加密库

    `java-properties-enc`库就是为了应对这一挑战,它提供了Java属性文件的加密功能,确保这些敏感数据的安全。 `java-properties-enc`库的核心功能在于扩展了Java的`java.util.Properties`类,使其能够处理加密的属性...

    pdf文件生成加密,设置只读属性,添加水印的必要最新jar包6个包

    PDF文件在日常工作中被广泛应用,为了保护文档的安全性和防止未经授权的修改,经常需要对PDF进行加密、设置只读属性以及添加水印。本资源提供的6个jar包正是为实现这些功能而准备的,它们分别是itext-5.3系列的库和...

    解决低版本java解密加密的【key长度异常】

    5. **配置Java命令行参数**:在运行Java应用程序时,可以通过设置`-Djava.security.properties`参数指向自定义的安全属性文件,其中可以指定更宽松的密钥长度限制。 无论选择哪种方法,都需要确保符合法律法规,...

    2022年基于Java的IDEA加密算法Java教程.docx

    开发者可以通过编写符合接口规范的代码,创建自己的加密供应器,然后将其安装到系统的CLASSPATH中,并在Java安全属性文件中进行配置,以启用和管理这些供应器。 在电子商务场景下,IDEA加密算法的应用能够有效地...

    javamail收发邮件加密和不加密

    默认情况下,它并不开启加密,但可以通过设置`mail.pop3.socketFactory.class`属性为`javax.net.ssl.SSLSocketFactory`来启用SSL加密,提高安全性。 2. **IMAP(Internet Message Access Protocol)**: - IMAP是...

Global site tag (gtag.js) - Google Analytics