تجديد
يتطلب استخدام تشفير Cloud Config Spring تنزيل امتداد JCE لإنشاء شفرات من الأطوال اللانهائية. الرابط: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
بعد التنزيل ، قم بإلغاء الضغط ونسخ حزم اثنين من الجرة التي تم الحصول عليها في دليل $ java_home/jre/lib/security.
مقدمة
في بيئة مشروع حقيقية ، لن نقوم بتخزين نص سري مثل كلمات المرور في ملف التكوين لمنعه من السرقة. يوفر Spring Cloud Config طرق تشفير لتشفير نص النص العادي في نص مشفر مخزّن في ملفات التكوين. يوفر Spring Cloud Config طريقتين للتشفير وفك التشفير ، والآخر هو تشفير متماثل والآخر هو تشفير غير متماثل. ستظهر هذه المقالة أولاً كيفية استخدام التشفير المتماثل.
مقدمة في التشفير المتماثل
يعني التشفير المتماثل أن كلا الطرفين للاتصال يستخدمان نفس المفتاح لتشفير النص وفك تشفيره. لديها طريقتان للتشفير:
التشفير المتماثل هو وسيلة بسيطة نسبيا. طالما أن كلا الطرفين لديهما نفس المفتاح ، فيمكنهما إكمال التشفير وفك تشفير النص. ومع ذلك ، فإن عيب التشفير المتماثل هو أنه لا يمكن مصادقة المصدر. هذا هو ، إذا كان أليس وبوب يتواصلان ، فإن أليس تستخدم مفتاحًا لتمرير النص المشفر إلى بوب ، لكن حواء تعترض النص المشفر في الوسط ، ثم تُرفع النص المشفر إلى بوب ، مما يجعل بوب يعتقد خطأً أن حواء هي أليس ، مما سيؤدي إلى تسرب البيانات.
رمز مصدر المشروع
Gite Code Cloud
تكوين ConfigServer
أولاً ، نحتاج إلى إعداد مفتاح للتشفير وإضافة عناصر التكوين التالية إلى ملف تكوين bootstrap.yml في مشروع التكوينات لدينا:
تشفير: المفتاح: thisismysecretkeke
امتحان
نحن نستخدم هذا المفتاح لتشفير عنصر اختبار في ويب العميل الخاص بنا. يوفر Spring Cloud Config مسارات طرفية مشفرة وفك تشفيرها ، /تشفير و /decrypt. ابدأ ConfigServer ، ثم نشفر نص الاختبار الخاص بنا باستخدام /تشفير محطة:
Curl LocalHost: 8888/encrypt -d 12345678
النتيجة التي تم إرجاعها هي (ستكون النتيجة مختلفة في كل مرة):
94C1027141ADD984447F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
ثم في مستودع التكوين عن بُعد الخاص بنا ، قم بتعديل تكوين web-client.yml وأضف تكوينًا جديدًا:
الاختبار: كلمة المرور: '{cipher} 94c1027141add9844eC47f0bebe13caebb6b38ed1dcf99811b1a5cd2b874c64407'عروض الأسعار هنا مطلوبة ، ثم {cipher} تشير إلى أن عنصر البيانات هو نص مشفر. ثم يمكننا التحقق من فك التشفير:
Curl LocalHost: 8888/decrypt -d 94c1027141add98447f0bebe13caebb6b38ed1dcf99811b1a5cd2b874c64407
في ظل الظروف العادية ، سنحصل على 12345678 حرفًا. ثم نصل إلى ملف تكوين web-client.yml من خلال عنوان URL وسنحصل على النتيجة التالية:
{"name": "Web-Client" ، "Profiles": ["Default"] ، "Label": Null ، "الإصدار": "6B73C56449ACEE907FCF37E50892A3AFDDDBF6335" ، " "https://gitee.com/zxuqian/spring-cloud-config-remote/web-laient.yml" ، "المصدر": {"الرسالة": "هذه الرسالة تأتي من مستودع التكوين عن بُعد" ، "1234567}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}سترى أن test.password declypted هو 12345678.
لخص
ما سبق هو طريقة استخدام التشفير المتماثل لملفات تكوين سحابة الربيع التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!