网上找了很多文章没有找到合适的,有没有好的StandardPBEStringEncryptor加密解密使用代码?

以下是一个使用StandardPBEStringEncryptor进行加密和解密的Java代码示例:

import org.springframework.security.crypto.encrypt.StandardPBEStringEncryptor;
import org.springframework.security.crypto.encrypt.StringEncryptor;
public class StandardPBEStringEncryptorExample {
    public static void main(String[] args) {
        // 创建一个StandardPBEStringEncryptor实例
        StandardPBEStringEncryptor stringEncryptor = new StandardPBEStringEncryptor();
        // 设置加密算法的参数
        stringEncryptor.setAlgorithm("PBEWithMD5AndDES");
        stringEncryptor.setPassword("my_password");
        stringEncryptor.setSaltGenerator(new DefaultPasswordEncoder().generatePassword(16));
        // 加密字符串
        String plainText = "Hello, World!";
        String encryptedText = stringEncryptor.encrypt(plainText);
        System.out.println("加密后的字符串: " + encryptedText);
        // 创建一个新的StringEncryptor实例,用于解密
        StringEncryptor decryptor = new StringEncryptor() {
            @Override
            public String encrypt(CharSequence rawText) {
                return stringEncryptor.decrypt(rawText);
            }
        };
        // 解密字符串
        String decryptedText = decryptor.encrypt(encryptedText);
        System.out.println("解密后的字符串: " + decryptedText);
    }
}

这个示例使用了Spring Security框架中的StandardPBEStringEncryptor类。首先,我们创建了一个StandardPBEStringEncryptor实例,并设置了加密算法、密码和盐生成器。然后,我们使用这个实例加密一个字符串,并输出加密后的结果。接下来,我们创建了一个新的StringEncryptor实例,用于解密。最后,我们使用这个解密器解密加密后的字符串,并输出解密后的结果。