Rumah >Java >javaTutorial >Bagaimana Springboot menyepadukan Jasypt untuk melaksanakan penyulitan fail konfigurasi

Bagaimana Springboot menyepadukan Jasypt untuk melaksanakan penyulitan fail konfigurasi

WBOY
WBOYke hadapan
2023-06-01 08:55:441448semak imbas

Memperkenalkan Jasypt

Jasypt ialah perpustakaan java yang membenarkan pembangun menambah fungsi penyulitan asas pada projeknya dengan usaha yang minimum dan tidak memerlukan pemahaman mendalam tentang cara penyulitan berfungsi

Keselamatan tinggi, teknologi penyulitan berasaskan standard untuk penyulitan sehala dan dua hala. Sulitkan kata laluan, teks, nombor, perduaan...

Sesuai untuk penyepaduan ke dalam aplikasi berasaskan Spring, API terbuka, untuk digunakan dengan mana-mana pembekal JCE...

Tambah kebergantungan berikut:

    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>2.1.1</version>
    </dependency>

Faedah Jasypt

Ia melindungi keselamatan sistem kami dan memastikan keselamatan mutlak sumber data walaupun kod itu bocor.

Senario Aplikasi

Sulitkan semua kata laluan akaun dalam fail konfigurasi dan sulitkan perkara yang anda mahu sulitkan.

Cara menggunakan

Sulitkan atau nyahsulit akaun atau kata laluan melalui kekunci dan nyahsulit teks sifir apabila projek dimulakan.

Penggunaan praktikal

Kelas alat penyulitan dan penyahsulitan

import org.jasypt.util.text.BasicTextEncryptor;
/********************************************************************************
 ** @author : ZYJ
 ** @date :2023/04/26
 ** @description :Jasypt加密解密
 *********************************************************************************/
public class Jasypt {
    public static void main(String[] args) {
        BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor();
        //加密的密钥
        basicTextEncryptor.setPassword("Jasypt");
        //密码进行加密
        String encrypt = basicTextEncryptor.encrypt("密码:123456");
        //密码进行解密
        String decrypt = basicTextEncryptor.decrypt(encrypt);
        //结果输出
        System.out.println("加密后的结果:"+encrypt);
        System.out.println("加密后的结果:"+decrypt);
    }
}

Ubah suai fail konfigurasi, enkripsi kata laluan akaun pangkalan data, gunakan ENC() untuk memasukkan teks sifir, letakkannya dalam kurungan , gunakan Maksud ENC() ialah menyahsulit dan memuatkan pada permulaan.

Bagaimana Springboot menyepadukan Jasypt untuk melaksanakan penyulitan fail konfigurasi

Konfigurasikan kunci dalam aplikasi fail konfigurasi.yml dan gunakan kekunci yang ditentukan untuk menyahsulit

jasypt:
  encryptor:
    password: Jasypt

Walau bagaimanapun, kaedah ini tidak digalakkan, kod bocor kata laluan akaun Ia tidak berbeza daripada teks biasa Anda boleh mengkonfigurasi kunci dalam pembolehubah persekitaran dan memuatkannya secara langsung sebagai pembolehubah persekitaran sistem! !

Kunci ditentukan melalui pembolehubah persekitaran Ubah suai fail konfigurasi dan gantikan kunci dengan nama pembolehubah persekitaran dalam bentuk ${environment variable name}, cari nilai pembolehubah melalui nama pembolehubah persekitaran Itulah kunci kami! ! !

jasypt:
penyulitan:
#Nama pembolehubah pembolehubah persekitaran
kata laluan: ${JASYPT_PASSWORD}

Spesifikasi mod pembolehubah persekitaran Windows

Nota: Selepas mengkonfigurasi pembolehubah persekitaran dalam Windows, anda perlu menutup IDEA dan membukanya semula untuk membenarkannya memuatkan pembolehubah persekitaran.

Bagaimana Springboot menyepadukan Jasypt untuk melaksanakan penyulitan fail konfigurasi

Nyatakan kaedah pembolehubah persekitaran Linux

Edit fail pembolehubah persekitaran

vim /etc/profile

Tambah

eksport JASYPT_PASSWORD=Jasypt

Simpan dan keluar untuk memuat semula pembolehubah persekitaran

sumber /etc /profil

Atas ialah kandungan terperinci Bagaimana Springboot menyepadukan Jasypt untuk melaksanakan penyulitan fail konfigurasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam