spring cloud 使用TextEncryptor 加密数据

 

org.springframework.security.crypto.encrypt.TextEncryptor  完整类路径

步骤:

1. 使用keytool生产秘匙对,jdk 自带,命令如下:

keytool -genkeypair -alias margokk -keyalg RSA -dname "CN=Web Server,OU=China,O=www.margo.cn,L=Beijing,S=Beijing,C=China" -keypass biteme -keystore config-service.jks -storepass myPas

2. 把产生的 config-service.jks 文件放在项目路径下:

 

 由于下面单元测试,因此,我在测试的resources中也放入了一份。

3. 最重要的一步,新建bootstrap.yml  在bootstrap.yml 中配置keystore  ,一定要在bootstrap.yml中文件配置,否则,将会报 No qualifying bean of type 'org.springframework.security.crypto.encrypt.TextEncryptor  这样的错误

 

 4. 单元测试

@RunWith(BladeSpringRunner.class)
@SpringBootTest(classes = SQLInspectionApplication.class)
@BladeBootTest(enableLoader = true, value = "imobpay-sqlinspection", profile = "test")
public class ISqlJobServiceTest {

	@Autowired
	private ISqlJobService sqlJobService;

	@Autowired
	private TextEncryptor textEncryptor;

	@Autowired
	private KeyProperties keyProperties;

	@Test
	public void testEncrypt() {
		String plainText = "ABCDEFG";
		String encryptedText = textEncryptor.encrypt(plainText);
		System.out.println(encryptedText);
//		System.out.println("keyStore = " + keyStore);
		String s = textEncryptor.decrypt(encryptedText);
		System.out.println("s = " + s);

		System.out.println("keyProperties = " + keyProperties);
	}
}

  由于我公司使用的bladex 企业版,因此这里的注解配置使用的bladex 封装的配置,可以自行换成springboot 的单元测试注解。

 5. 如果使用maven 最好在pom.xml中加入如下配置:

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>**/*.jks</exclude>
                </excludes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*.jks</include>
                </includes>
            </resource>
        </resources>
    </build>

 

posted @ 2020-06-19 09:45  margo  阅读(1693)  评论(0编辑  收藏  举报