Jasypt - 如何在.properties文件中使用StrongPasswordEncryptor作为凭据

时间:2014-06-09 10:10:48

标签: java properties password-encryption jasypt

我可以使用EncryptableProperties使用jasypt加密和解密.properties文件中的凭据。因为我想使用我自己的算法或算法,如“SHA-512”如何在EncryptableProperties中实现它?

有没有办法在EncryptableProperties上使用ConfigurablePasswordEncryptor或StrongPasswordEncryptor而不是我的StringEncryptor或TextEncryptor。

StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();     
encryptor.setPassword("OrderMod");           
Properties props = new EncryptableProperties(encryptor);  
props.load(new FileInputStream("mime.properties"));
String password = props.getProperty("password");
System.out.println("password:: "+password);

1 个答案:

答案 0 :(得分:0)

您可以在加密器上设置算法:

StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();     
encryptor.setPassword("OrderMod");
encryptor.setAlgorithm(jasyptAlgorithm);
Properties props = new EncryptableProperties(encryptor);

其中jasyptAlgorithm是您想要使用的更强大的算法,例如PBEWithMD5AndTripleDES。 Jasypt实际上并没有实现任何算法,因此您需要从JCE提供程序中找到算法列表,例如Oracle JCA(Oracle Java附带)或Bouncy Castle。 / p>

如果您使用强大的算法(如3DES),则可能需要下载并安装Java Cryptography Extension Unlimited Strength Jurisdiction Policy Files

您提到了SHA-512,但这根本不是加密算法。它只是一个哈希算法。许多加密进程可能能够使用SHA-512,但其他一些算法将处理加密。