fix:解决jasypt导入报错:

1.配置生成的密码未去除双引号

2.生成秘钥的配置不宜过多有些奇怪bug,jasypt是由热插拔形式代理原来springboot的mvc模块的org.springframework.core.env.MapPropertySource
pull/180/head
11353 4 years ago
parent ce06053b34
commit a7b7836523

@ -14,20 +14,20 @@ import org.springframework.stereotype.Component;
@Component
public class jasyptHandler {
@Bean("jasyptStringEncryptor")
public StringEncryptor stringEncryptor() {
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
// 配置解析的密码
config.setPassword("password");
config.setAlgorithm(StandardPBEByteEncryptor.DEFAULT_ALGORITHM);
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
// config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
// config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator");
config.setStringOutputType("base64");
encryptor.setConfig(config);
return encryptor;
}
// @Bean("jasyptStringEncryptor")
// public StringEncryptor stringEncryptor() {
// PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
// SimpleStringPBEConfig config = new SimpleStringPBEConfig();
// // 配置解析的密码
// config.setPassword("password");
// config.setAlgorithm(StandardPBEByteEncryptor.DEFAULT_ALGORITHM);
// config.setKeyObtentionIterations("1000");
// config.setPoolSize("1");
//// config.setProviderName("SunJCE");
// config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
//// config.setIvGeneratorClassName("org.jasypt.iv.RandomIvGenerator");
// config.setStringOutputType("base64");
// encryptor.setConfig(config);
// return encryptor;
// }
}

@ -5,6 +5,7 @@ import cn.hutool.core.map.MapUtil;
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.StandardPBEByteEncryptor;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import java.io.File;
@ -23,50 +24,27 @@ public class jasyptEncryptUtils {
final static String PREFIX = "PINN@[";
final static String SUFFIX = "]";
/**
* Jasypt
*
* @param password jasypt.encryptor.password
* @param value
* @return
*/
public static String encryptPwd(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(cryptOr(password));
String result = encryptOr.encrypt(value);
return result;
}
public static void main(String[] args) {
HashMap<String, String> dataSource = MapUtil.newHashMap();
dataSource.put("url","jdbc:mysql://175.178.38.240:9033/ry_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
dataSource.put("username","nacos");
dataSource.put("password","nacos2233");
/**
*
*
* @param password jasypt.encryptor.password
* @param value
* @return
*/
public static String decryptPwd(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(cryptOr(password));
String result = encryptOr.decrypt(value);
return result;
}
encryptionDataSource(dataSource);
/**
* @param password salt
* @return
*/
public static SimpleStringPBEConfig cryptOr(String password) {
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
// config.setAlgorithm(StandardPBEByteEncryptor.DEFAULT_ALGORITHM);
// config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
// config.setProviderName(null);
// config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
// config.setStringOutputType("base64");
return config;
}
// HashMap<String, String> dataSource2 = MapUtil.newHashMap();
// dataSource2.put("url","xvrY1Lb+8pSI993YLonk0/Zc5UJJyrCEvobsCWPKzjhFyN5+6TxFksonriogCXk3ZZKdLZ2RuGlNZ/F4ezeZtDH/gYdGpYmRmGPHJfCGDXZIHUQAdqB5xIGYxdym4UkMhvxY0zH+LfECaL4Xh4SsbYnoEe0+YlRav24x/1cNW7ZxZ+5kXLc8wRTkSTUCmEOqwBrwVII5lhNBbBva/ItLqYSFdfdyLX2g3BYBUz2iSlqH2aMH2sjUnHaaeEqpSoLq");
// dataSource2.put("username","RZvKwBufVgR5YDlJ2ncYeWgaFIZ92BpKnepqv6EuUMFz1FY7rIyJEJyhR/NYYN7F");
// dataSource2.put("password","ixlE6Xon2PkZGz2YWT30XodveKEhidgo3m2QWrzT9Wf9Jh5tTs/MKxEXZJPBSvij");
//
// decryptDataSource(dataSource2);
// StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
// standardPBEStringEncryptor.setPassword("aa78fcbe21d77af8");
// System.out.println(standardPBEStringEncryptor.decrypt("I41o92myZEH//IF94wRL63p1fYXvq+OaltRqSCk4OhzT3Ff5G4aj4Y8URNzarpiM"));
}
/**
*
@ -95,7 +73,6 @@ public class jasyptEncryptUtils {
String url = encryptPwd(key,dataSource.get("url"));
String username = encryptPwd(key,dataSource.get("username"));
String password = encryptPwd(key,dataSource.get("password"));
//保存在目录下
FileWriter writer = new FileWriter(new File(FILE_PATCH_ALL), CHARSET_UTF8);
writer.write("key: "+ key + LINE,false);
@ -104,22 +81,43 @@ public class jasyptEncryptUtils {
writer.write("password: " + PREFIX +password + SUFFIX + LINE,true);
}
/**
* Jasypt
*
* @param password jasypt.encryptor.password
* @param value
* @return
*/
public static String encryptPwd(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(cryptOr(password));
String result = encryptOr.encrypt(value);
return result;
}
public static void main(String[] args) {
HashMap<String, String> dataSource = MapUtil.newHashMap();
dataSource.put("url","jdbc:mysql://175.178.38.240:9033/ry_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
dataSource.put("username","nacos");
dataSource.put("password","nacos2233");
encryptionDataSource(dataSource);
/* HashMap<String, String> dataSource2 = MapUtil.newHashMap();
dataSource2.put("url","tdAxOXA3+S2kSy2Rv8sfFujgdl46zQy+Cl7xVnC9pDhZrVwtHnCdOeco2zkvyZnMDfIl/uiBig3DYmU4HqGbQgwBeYdyqamHu9jGKxVI9RzlKVM4XiDae630G5hSwNzhndchz33PBUZ0IMdvB7pDcDs/Ug/5h8O47qQ0TQrTAOarKOFkZCoA7wNqaDhYJmZzTCAtvPadRx8qdNRKHsbswFtjqmCO+QrW");
dataSource2.put("username","ghFv/J1tegsx6a/kVdzwVQ==");
dataSource2.put("password","VNMRcA303/pklpGem3JQYP8T+GwZXwnC");
decryptDataSource(dataSource2);*/
}
/**
*
*
* @param password jasypt.encryptor.password
* @param value
* @return
*/
public static String decryptPwd(String password, String value) {
PooledPBEStringEncryptor encryptOr = new PooledPBEStringEncryptor();
encryptOr.setConfig(cryptOr(password));
String result = encryptOr.decrypt(value);
return result;
}
/**
* @param password salt
* @return
*/
public static SimpleStringPBEConfig cryptOr(String password) {
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
config.setAlgorithm("PBEWithMD5AndDES");
config.setPoolSize("1");
return config;
}
}

@ -1,4 +1,4 @@
key: aa78fcbe21d77af8
url: PINN@[RDvIMG8MFQAINuVwgI59BimaqgkEOrcnY0vj8kYmZMmlRWwl+9rn7weZDNwon807LaYXZF+hme4/+Ye4d9LwHUS2IzOvz/nOqXoeqmPIMYNq2Cdt4AAIvtENj+Fnp4/XccSKfhAlA8pRarc/lk8F7l62ul5VsxKi8lUQatXDB1v1OCsNAzDowj2l7T0o/TzNrIHWl0b9yYcZZVGDnyYrkA==]
username: PINN@[9LFA4aI0xDSxwlsyyoJf1w==]
password: PINN@[AG6wLP/NWZx1UpBDYIHAcpQ62kjD7mfa]
url: PINN@[b43OeNppIVyLnbWEybBFR7ilgcIOkQz5Mkb2tWtOuugrQoTxjpf3hozwU8LRSpboCAOf4WSAB9eknmbS15qX42/e6g1XmmJCsSAwx3TswOjX9x6BgjcDiWrUcYx4ZiNS9wO79ieCkLdeWRW1AZ6msuFV0JGRQNMpsLaJjwra2BZ4Hldq88EDjyZntBvT2s58EXM/bjMKIQhynkUibEbAhw==]
username: PINN@[WEciwJ1eT6ZjAMncoppuow==]
password: PINN@[YZXfQ+pMtdFaMCxbKy5ey5BfxIG2RQnZ]

@ -1,4 +1,4 @@
key: aa78fcbe21d77af8
url: 'jdbc:mysql://175.178.38.240:9033/ry_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8'
username: 'nacos'
password: 'nacos2233'
url: jdbc:mysql://175.178.38.240:9033/ry_cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: nacos
password: nacos2233

Loading…
Cancel
Save