我可以使用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);
答案 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,但其他一些算法将处理加密。