使用我自己的SecretKey配置Jasypt加密器,而不是使用' setPassword'来设置字符串密码。 PBEString加密器的方法?

时间:2014-08-19 20:12:10

标签: java encryption jasypt

我尝试使用以下代码配置Jasypt StandardPBEStringEncryptor。

StandardPBEStringEncryptor strongEncryptor = new StandardPBEStringEncryptor();
strongEncryptor.setAlgorithm(ALGORITHM);
strongEncryptor.setPassword(PASSWORD);

然后调用' strongEncryptor'的encrypt()和decrypt()方法。执行加密和解密操作。

是否可以或者有没有办法使用我自己的SecretKey 配置Jasypt加密器而不是设置密码?

就像Java Cipher一样,我们......

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, MY_SECRET_KEY);

我看到Jasypt在内部使用String密码来创建SecretKey并启动Java Cipher。可以在这里提供我的钥匙吗?

1 个答案:

答案 0 :(得分:0)

PBE 代表基于密码的加密

这意味着它不需要SecretKey,而是需要一个密码短语,然后通过多次散列来生成密钥。

因此,为{strong> PBE - 加密手动设置SecretKey会使其无效。正是出于这个原因,StandardPBEStringEncryptor不允许这样做。 (有关更多信息,请参阅doc

如果您想使用自己的SecretKey,只需使用标准加密功能。