Reabastecer
O uso da criptografia de configuração do Spring Cloud requer o download da extensão JCE para gerar textos cifrões de comprimentos infinitos. Link: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Após o download, descompacte e copie os dois pacotes JAR obtidos no diretório $ java_home/jre/lib/segurança.
Introdução
Em um ambiente real do projeto, não armazenaremos texto confidencial, como senhas no arquivo de configuração, para impedir que ele seja roubado. O Spring Cloud Config fornece métodos de criptografia para criptografar o texto de texto sem formatação no CipherText armazenado em arquivos de configuração. A Spring Cloud Config fornece dois métodos de criptografia e descriptografia, um é a criptografia simétrica e o outro é a criptografia assimétrica. Este artigo mostrará primeiro como usar a criptografia simétrica.
Introdução à criptografia simétrica
A criptografia simétrica significa que ambas as partes da comunicação usam a mesma chave para criptografar e descriptografar o texto. Possui dois métodos de criptografia:
A criptografia simétrica é uma maneira relativamente simples. Desde que ambas as partes tivessem a mesma chave, elas podem concluir a criptografia e descriptografia do texto. No entanto, a desvantagem da criptografia simétrica é que ela não pode autenticar a fonte. Ou seja, se Alice e Bob estão se comunicando, Alice usa a chave para passar o texto criptografado para Bob, mas Eve intercepta o texto cifrado no meio e, em seguida, Eve encaminha o texto cifrado para Bob, fazendo Bob entender erroneamente que Eve é Alice, que causará vazamento de dados.
Código fonte do projeto
Nuvem de código gitee
Configure o ConfigServer
Primeiro, precisamos configurar uma chave para criptografia e adicionar os seguintes itens de configuração ao arquivo de configuração do bootstrap.yml em nosso projeto ConfigServer:
Encrypt: chave: thisismysecretKey
teste
Usamos essa chave para criptografar um item de teste do nosso cliente da Web. A Spring Cloud Config fornece caminhos terminais criptografados e descriptografados, /criptografar e /descriptografar. Inicie o ConfigServer e, em seguida, criptografamos nosso texto de teste usando /criptografar o terminal:
Curl localhost: 8888/Encrypt -D 12345678
O resultado retornado é (o resultado será diferente a cada vez):
94C1027141ADD9844EC47F0BE13CEBBB6B38ED1DCF99811B1A5CD2B874C64407
Em seguida, em nosso repositório de configuração remota, modifique a configuração web-client.yml e adicione uma nova configuração:
Teste: Senha: '{cipher} 94C1027141Add9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407'As citações aqui são necessárias e, em seguida, {cifra} indica que o item de dados é o CipherText. Então podemos verificar a descriptografia:
LocalHost Curl: 8888/descripto -d 94C1027141Add9844EC47F0BE13CEBB6B38ED1DCF99811B1A5CD2B874C6407
Em circunstâncias normais, teremos 12345678 caracteres. Em seguida, acessamos o arquivo de configuração web-lient.yml através da URL e obteremos o seguinte resultado:
{"Nome": "Web-Client", "Perfis": ["padrão"], "Label": NULL, "Version": "6B73C56449ACEE907FCF37E50892A3AFDBF6335", "Estado: NULL" "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml", "origem": {"message": "Esta mensagem vem da configuração remota REPOSITEM ".TESTION.NERGEMPOMPT:" TESTEMPTEM4: "TESTEMTEM." TESTEMTEM. "TESTEMPTEMPT:" TESTEMPTEMPROTEM4: "TESTEMPT:" TESTEMPT: "TESTEMPT:" TESTEMPT: "TESTEMPT:" TESTEMPT: "TESTEMPTEN": "Testern." Test. "Test." Test. "Test." Test. "Test.."Você verá que o teste descriptografado.Password é 12345678.
Resumir
O acima é o método de usar a criptografia simétrica para os arquivos de configuração de configuração da Spring Cloud Introduzidos pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!