我尝试使用以下代码配置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。可以在这里提供我的钥匙吗?
答案 0 :(得分:0)
PBE 代表基于密码的加密。
这意味着它不需要SecretKey
,而是需要一个密码短语,然后通过多次散列来生成密钥。
因此,为{strong> PBE - 加密手动设置SecretKey
会使其无效。正是出于这个原因,StandardPBEStringEncryptor
不允许这样做。 (有关更多信息,请参阅doc)
如果您想使用自己的SecretKey
,只需使用标准加密功能。