网上找了很多文章没有找到合适的,有没有好的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实例,用于解密。最后,我们使用这个解密器解密加密后的字符串,并输出解密后的结果。
发表评论