مقدمة
لقد كتبت مقدمة إلى تشفير مركز التكوين وفك تشفير محتوى التكوين: "بنية SPRING Cloud Build Microservice: مركز التكوين الموزع (التشفير وفك التشفير)". في هذه المقالة ، هناك مشكلة: عندما يحتوي المحتوى المشفر على بعض الأحرف الخاصة مثل = و +، عند استخدام Corr curl localhost:7001/encrypt -d المذكورة في المقالة السابقة للتشفير وفك التشفير ، سيتم العثور على شخصيات خاصة.
على سبيل المثال ، الموقف التالي:
$ curl localhost: 7001/encrypt -d ef34+5edo = A34C76C4DDAB706FBCAE0848639A8E0ED9D612B003503030542C98997E084A7427 $ CURLHOST: 7001/DECRYPT -D A34C76C4DDAB706FBCAE0848639A8E0ED9D612B0035030542C98997E084A7427F34 5EDO
يمكن ملاحظة أنه بعد التشفير والتشفير ، تضيع بعض الشخصيات الخاصة. نظرًا لأني خدعة صغيرة هنا من قبل ، أخذت الوقت الكافي لكتابتها ومشاركتها. آمل أن يكون ذلك مفيدًا لك إذا واجهت نفس المشكلة.
أسباب وحلول للمشكلة
في الواقع ، يتم شرح سبب هذه المشكلة على وجه التحديد في المستند الرسمي. لا أستطيع إلا أن ألوم نفسي على كونه مهملًا جدًا. التفاصيل كما يلي:
إذا كنت تختبر مثل هذا مع Curl ، فاستخدم-data-urlencode (بدلاً من -D) أو تعيين نوع محتوى صريح: النص/عادي للتأكد من أن Curl يرمز للبيانات بشكل صحيح عندما يكون هناك أحرف خاصة ("+" صعبة بشكل خاص).
لذلك ، عند استخدام حليقة ، يجب أن يكون الموقف الصحيح:
$ curl localhost: 7001/encrypt -h 'content-type: text/plain'-data-urlencode "ef34+5edo =" 335E618A02A0FF3DC1377321885F484FB2C19A49423EE775555999 LocalHost: 7001/decrypt -h 'content-type: text/plain'-data-urlencode "335E618A02A0FF3DC1377321885F484FB2C19A49423EE77755555997B033"
لذا ، كيف نلعب عندما نكتب أدوات لتشفير وفك التشفير؟ فيما يلي مثال على OKHTTP للرجوع إليه:
سلسلة خاصة encrypt (قيمة السلسلة) {String url = "http: // localhost: 7001/encrypt" ؛ طلب طلب = طلب جديد. Call Call = OkhttpClient.newcall (request) ؛ استجابة الاستجابة = call.execute () ؛ استجابة استجابة = استجابة. body () ؛ return responsebody.String () ؛} سلسلة خاصة decrypt (قيمة السلسلة) {String url = "http: // localhost: 7001/decrypt" ؛ طلب طلب = طلب جديد. Call Call = OkhttpClient.newcall (request) ؛ استجابة الاستجابة = call.execute () ؛ استجابة استجابة = استجابة. body () ؛ إرجاع responseBody.String () ؛}لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.