Prefácio
Este artigo apresenta principalmente os métodos relacionados do Jasypt para criptografar arquivos de configuração de inicialização do Spring. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada juntos.
O método é o seguinte:
Apresentando Jasypt
<Depencency> <voundid> com.github.ulisesbocchio </frugiD> <ArtifactId> jasypt-spring-boot-starter </artifactId> <versão> 2.0.0 </sisters> </dependency>
Gerar seqüências para serem criptografadas
Criptografar o nome de usuário e a senha do banco de dados
public static void main (string [] args) {basictextEncryptor textExryptor = new BasictexTencryptor (); // sal (sal) necessário para a criptografia textEncryptor.setpassword ("g0cvdz7ojn6"); // os dados a serem criptografados (nome de usuário ou senha do banco de dados) string userName = textEncryptor.encrypt ("root"); String senha = textEncryptor.encrypt ("root123"); System.out.println ("Nome de usuário:"+nome de usuário); System.out.println ("senha:"+senha); }As informações de saída são:
Nome de usuário: i8qgen4Uoy2e1rhzrpstya ==
Senha: 6eamh/rx5oxuvCA9ignvtg ==
Ou use o Maven para baixar o pacote JAR para Encrypt /Maven/org/Jasypt/Jasypt/1.9.2/Jasypt-1.9.2.Jar
java -cp jasypt -1.9.2.jar org.Jasypt.intf.cli.JasyptpBestringEnCyPtionCli senha = g0cvdz7ojn6 algorithm = pBewithmd5anddes input = root = raiz
As informações de saída são:
---AMBIENTE----------------------
Tempo de execução: Oracle Corporation Java Hotspot (TM) servidor de 64 bits VM 25.171-B11--- Argumentos ---------------------------------------------------------------------------------------------------------------------------
entrada: root
Algoritmo: PBewithmd5anddes
Senha: G0CVDZ7OJN6---SAÍDA---------------------------
Gvkoz+sbfwire3ectizv1a ==
Basta copiar os resultados em saída-
Configure arquivos de propriedades
Configurar a string de criptografia gerada (string de criptografia) no application.properties
# sal (sal) necessário para criptografia jasypt.encryptor.password = g0cvdz7ojn6# o método de criptografia padrão pBewithMd5anddes pode ser alterado para pBewithmd5andTriPledes# jasypt.Encryptor.algorithm = pbewithmd5anddesspring.datasource.username = ENC (6eamh/rx5oxuvca9ignvtg ==) mola .dataSource.password = ENC (6eamh/rx5oxuvCA9ignvtg ==) spring.dataSource.password = ENC (6eamh/rx5oxuvca9ignvtg ==)
As classes de criptografia correspondentes são BasictextEncryptor e StrongTextEncryptor
public BasictexTencryptor () {super (); this.Encryptor = new StandardPBestringEnCryptor (); this.Encryptor.SetalGorithm ("PBewithMd5anddes");} public StrongTexTEncryptor () {super (); this.Encryptor = new StandardPBestringEnCryptor (); this.Encryptor.SetalGorithm ("PBewithMd5andTripledes");} Diagrama de classe
Configure o valor do sal durante a implantação
Para impedir que o sal (sal) vazasse, não está lançado a senha. Você pode usar o comando para passar no valor de sal (sal) ao implantar o projeto.
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
Ou configure -o nas variáveis do ambiente do servidor para melhorar ainda mais a segurança
Arquivo de abertura /etc /perfil
vim /etc /perfilInserir no final do arquivo
exportar jasypt_password = g0cvdz7ojn6Compilação
fonte /etc /perfilcorrer
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
Endereço oficial: https://github.com/ulisesbocchio/jasypt-spring-boot (download local)
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.