คำนำ
บทความนี้ส่วนใหญ่แนะนำวิธีการที่เกี่ยวข้องของ Jasypt ในการเข้ารหัสไฟล์การกำหนดค่าการบูตสปริง ฉันจะไม่พูดมากขึ้นด้านล่างลองมาดูการแนะนำรายละเอียดด้วยกัน
วิธีนี้มีดังนี้:
แนะนำ Jasypt
<Ederency> <sderctId> com.github.UlisesBocchio </groupId> <ratifactId> Jasypt-Spring-Boot-Starter </artifactid> <version> 2.0.0 </เวอร์ชัน> </derness>
สร้างสตริงที่จะเข้ารหัส
เข้ารหัสชื่อผู้ใช้และรหัสผ่านของฐานข้อมูล
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {BasicTextEncryptor textEncryptor = ใหม่ bearsTextEncryptor (); // เกลือ (เกลือ) ที่จำเป็นสำหรับการเข้ารหัส textencryptor.setPassword ("G0CVDZ7OJN6"); // ข้อมูลที่จะเข้ารหัส (ชื่อผู้ใช้หรือรหัสผ่านของฐานข้อมูล) สตริงชื่อผู้ใช้ = textEncryptor.encrypt ("รูท"); สตริงรหัสผ่าน = textencryptor.encrypt ("root123"); System.out.println ("ชื่อผู้ใช้:"+ชื่อผู้ใช้); System.out.println ("รหัสผ่าน:"+รหัสผ่าน); -ข้อมูลผลลัพธ์คือ:
ชื่อผู้ใช้: i8qgen4UOY2E1RHZRPSTYA ==
รหัสผ่าน: 6eamh/rx5oxuvca9ignvtg ==
หรือใช้ maven เพื่อดาวน์โหลดแพ็คเกจ Jar เพื่อเข้ารหัส /maven/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.jasyptpbestringencryptioncli password
ข้อมูลผลลัพธ์คือ:
---สิ่งแวดล้อม----------------------
รันไทม์: Oracle Corporation Java Hotspot (TM) เซิร์ฟเวอร์ 64 บิต VM 25.171-B11--- อาร์กิวเมนต์ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
อินพุต: รูท
อัลกอริทึม: PBEWITHMD5ANDDES
รหัสผ่าน: G0CVDZ7OJN6--- เอาต์พุต -----------------------
GVKOZ+SBFWIRE3ECTIZV1A ==
เพียงคัดลอกผลลัพธ์ภายใต้เอาต์พุต-
กำหนดค่าไฟล์คุณสมบัติ
กำหนดค่าสตริงการเข้ารหัสที่สร้าง
# เกลือ (เกลือ) จำเป็นสำหรับการเข้ารหัส jasypt.encryptor.password = g0cvdz7ojn6# วิธีการเข้ารหัสเริ่มต้น pbewithmd5anddes สามารถเปลี่ยนเป็น pbewithmd5andtripledes# jasypt.encryptor.algorithm = pbewithmd5anddesspring.datasource.username = ENC (6EamH/RX5OXUVCA9IGNVTG ==) ฤดูใบไม้ผลิ .datasource.password = ENC (6EAMH/RX5OXUVCA9IGNVTG ==) Spring.Datasource.Password = ENC (6EAMH/RX5OXUVCA9IGNVTG ==)
คลาสที่สอดคล้องกันของการเข้ารหัสคือ BasicTextEncryptor และ StrongTextEncryptor
Public BasicTextEncryptor () {super (); this.encryptor = ใหม่ standardpbestringencryptor (); this.encryptor.setAlgorithm ("PBEWITHMD5ANDDES");} Public StrongTextEncryptor () {super (); this.encryptor = ใหม่ standardpbestringencryptor (); this.encryptor.setAlgorithm ("PBEWITHMD5ANDTRIPDES");} แผนภาพชั้นเรียน
กำหนดค่าเกลือระหว่างการปรับใช้
เพื่อป้องกันไม่ให้เกลือ (เกลือ) รั่วออกจากการปล่อยรหัสผ่าน คุณสามารถใช้คำสั่งเพื่อส่งผ่านในค่าเกลือ (เกลือ) เมื่อปรับใช้โครงการ
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
หรือกำหนดค่าในตัวแปรสภาพแวดล้อมเซิร์ฟเวอร์เพื่อปรับปรุงความปลอดภัยต่อไป
เปิด /ฯลฯ ไฟล์โปรไฟล์
vim /etc /profileแทรกในตอนท้ายของไฟล์
ส่งออก jasypt_password = g0cvdz7ojn6การรวบรวม
แหล่งที่มา /ฯลฯ /โปรไฟล์วิ่ง
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
ที่อยู่อย่างเป็นทางการ: https://github.com/ulisesbocchio/jasypt-spring-boot (ดาวน์โหลดท้องถิ่น)
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะมีค่าอ้างอิงบางอย่างสำหรับการศึกษาหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร ขอบคุณสำหรับการสนับสนุน Wulin.com