Mengisi kembali
Menggunakan enkripsi konfigurasi Cloud Spring membutuhkan pengunduhan ekstensi JCE untuk menghasilkan ciphertexts dengan panjang tak terbatas. Tautan: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Setelah mengunduh, unzip dan salin dua paket toples yang diperoleh ke direktori $ java_home/jre/lib/keamanan.
Perkenalan
Dalam lingkungan proyek nyata, kami tidak akan menyimpan teks rahasia seperti kata sandi dalam file konfigurasi untuk mencegahnya dicuri. Spring Cloud Config menyediakan metode enkripsi untuk mengenkripsi teks plaintext ke dalam ciphertext yang disimpan dalam file konfigurasi. Konfigurasi Spring Cloud menyediakan dua metode enkripsi dan dekripsi, satu adalah enkripsi simetris dan yang lainnya adalah enkripsi asimetris. Artikel ini pertama -tama akan menunjukkan cara menggunakan enkripsi simetris.
Pengantar enkripsi simetris
Enkripsi simetris berarti bahwa kedua pihak dalam komunikasi menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi teks. Ini memiliki dua metode enkripsi:
Enkripsi simetris adalah cara yang relatif sederhana. Selama kedua belah pihak memiliki kunci yang sama, mereka dapat menyelesaikan enkripsi dan dekripsi teks. Namun, kerugian dari enkripsi simetris adalah bahwa ia tidak dapat mengotentikasi sumbernya. Yaitu, jika Alice dan Bob berkomunikasi, Alice menggunakan kunci untuk meneruskan teks yang dienkripsi ke Bob, tetapi Hawa mencegat ciphertext di tengah, dan kemudian Hawa ke depan ciphertext ke Bob, membuat Bob secara keliru berpikir bahwa Hawa adalah Alice, yang akan menyebabkan kebocoran data.
Kode Sumber Proyek
Cloud kode gitee
Konfigurasi ConfigServer
Pertama, kita perlu mengatur kunci untuk enkripsi dan menambahkan item konfigurasi berikut ke file konfigurasi bootstrap.yml dalam proyek ConfigServer kami:
Enkripsi: Kunci: Thisismysecretkey
tes
Kami menggunakan kunci ini untuk mengenkripsi item tes dari web-client kami. Spring Cloud Config menyediakan jalur terminal terenkripsi dan didekripsi, /enkripsi dan /dekripsi. Mulai ConfigServer, dan kemudian kami mengenkripsi teks pengujian kami menggunakan /mengenkripsi terminal:
Curl LocalHost: 8888/Encrypt -D 12345678
Hasil yang dikembalikan adalah (hasilnya akan berbeda setiap saat):
94C1027141ADD9844EC47F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
Kemudian di repositori konfigurasi jarak jauh kami, ubah konfigurasi web-client.yml dan tambahkan konfigurasi baru:
Tes: Kata Sandi: '{Cipher} 94c1027141Add9844ec47f0be13Caebb6b38ed1dcf99811b1a5cd2b874c64407'Kutipan di sini diperlukan, dan kemudian {cipher} menunjukkan bahwa item data adalah ciphertext. Kemudian kita dapat memverifikasi dekripsi:
Curl LocalHost: 8888/Decrypt -D 94C1027141Add9844ec47f0be13Caebb6b38ed1dcf99811b1a5cd2b874c64407
Dalam keadaan normal, kami akan mendapatkan 12345678 karakter. Kemudian kami mengakses file konfigurasi web-client.yml melalui URL dan kami akan mendapatkan hasil berikut:
{"Name": "Web-Client", "Profiles": ["Default"], "Label": null, "Versi": "6B73C56449ACEE907FCF37E50892A3AFDDBF6335", "State": Null, "Propertiessources": [{"nama": ":" "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml", "sumber": {"pesan": "Pesan ini berasal dari repositori konfigurasi jarak jauh", "end.endpoints.web.exposure.include": "*", "test.pass.pass.Anda akan melihat bahwa tes yang didekripsi.Password adalah 12345678.
Meringkaskan
Di atas adalah metode menggunakan enkripsi simetris untuk file konfigurasi konfigurasi cloud pegas yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!