Kata pengantar
Artikel ini terutama memperkenalkan metode terkait Jasypt untuk mengenkripsi file konfigurasi boot pegas. Saya tidak akan banyak bicara di bawah ini, mari kita lihat perkenalan yang terperinci bersama.
Metode ini adalah sebagai berikut:
Memperkenalkan Jasypt
<dependency> <GroupId> com.github.ulitesbocchio </groupid> <ArTifactId> jasypt-spring-boot-starter </artifactid> <version> 2.0.0 </version> </dependency>
Menghasilkan string yang akan dienkripsi
Mengenkripsi nama pengguna dan kata sandi dari database
public static void main (string [] args) {basictextencryptor textencryptor = new BasictextEncryStryPtor (); // garam (garam) diperlukan untuk enkripsi TextEncryptor.setPassword ("G0CVDZ7OJN6"); // data yang akan dienkripsi (nama pengguna atau kata sandi dari database) string username = textencryptor.encrypt ("root"); String password = textencryptor.encrypt ("root123"); System.out.println ("Nama pengguna:"+nama pengguna); System.out.println ("Kata Sandi:"+Kata Sandi); }Informasi outputnya adalah:
Nama pengguna: i8qgen4uoy2e1rhzrpstya ==
Kata sandi: 6eamh/rx5oxuvca9ignvtg ==
Atau gunakan Maven untuk mengunduh paket jar untuk enkripsi /maven/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar
java -cp jasypt -1.9.2.jar org.jasypt.intf.cli.jasyptpBestringencrypliction Kata sandi = g0cvdz7ojn6 algoritma = pbeWithMd5anddes input = root
Informasi outputnya adalah:
---LINGKUNGAN----------------------
Runtime: Oracle Corporation Java Hotspot (TM) Server 64-bit VM 25.171-B11--- Argumen ---------------------------------------------------------------------------------------------------------------
Input: Root
Algoritma: pbewithmd5anddes
Kata sandi: G0CVDZ7OJN6---KELUARAN---------------------------
Gvkoz+sbfwire3ectizv1a ==
Cukup salin hasilnya di bawah output-
Konfigurasikan file properti
Konfigurasikan string enkripsi yang dihasilkan ENC (string enkripsi) ke dalam application.properties
# garam (garam) Diperlukan untuk enkripsi jasypt.encryptor.password = g0cvdz7ojn6# Metode enkripsi default pbewithmd5anddes dapat diubah menjadi pbewithmd5andtripledes# jasypt.encryptor.algorithm = pbewithmd5anddesspring.datasource.username = enc (6eamh/rx5oxuvca9ignvtg ==) Spring .datasource.password = enc (6eMh/rx5oxuvca9ignvtg ==) spring.datasource.password = enc (6eamh/rx5oxuvca9ignvtg ==)
Kelas enkripsi yang sesuai adalah Basictextencryptor dan StrongTextencryptor
publik BasictextEncryPtor () {super (); this.encryptor = baru StandardPBestringEncryPtor (); this.encryptor.setAlgorithm ("pBewithMd5anddes");} public strongTextEncryPtor () {super (); this.encryptor = baru StandardPBestringEncryPtor (); this.encryptor.setalgorithm ("pbewithmd5andtripledes");} Diagram kelas
Konfigurasikan nilai garam selama penyebaran
Untuk mencegah garam (garam) bocor, tidak lepaskan kata sandi. Anda dapat menggunakan perintah untuk meneruskan nilai garam (garam) saat menggunakan proyek.
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
Atau mengkonfigurasinya di variabel lingkungan server untuk lebih meningkatkan keamanan
Buka /etc /file profil
vim /etc /profileMasukkan di akhir file
Ekspor jasypt_password = g0cvdz7ojn6Kompilasi
Sumber /etc /profilberlari
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
Alamat resmi: https://github.com/ulisesbocchio/jasypt-spring-boot (unduhan lokal)
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.