머리말
구성 센터의 암호화 및 구성 컨텐츠의 암호 해독에 대한 소개를 작성했습니다. "스프링 클라우드 빌드 마이크로 서비스 아키텍처 : 분산 구성 센터 (암호화 및 암호 해독)". 이 기사에는 문제가 있습니다. 암호화 된 콘텐츠에 = 및 +와 같은 특수 문자가 포함 된 경우, curl localhost:7001/encrypt -d 명령을 사용하면 이전 기사에서 언급 한 경우 암호화 및 해독을 위해 특수 문자가 손실되는 것으로 나타났습니다.
예를 들어, 다음 상황 :
$ curl localhost : 7001/encrypt -D EF34+5EDO = A34C76C4DAB706FBCAE084848639A8E0ED9D612B0035030542C9997E084A7427 $ CURL LocalHost : 70011/decrypt -d A34C76C4DDAB706FBCAE0848639A8E0ED9D612B0035030542C98997E084A7427EF34 5EDO
암호화 및 암호 해독 후 일부 특수 문자가 손실된다는 것을 알 수 있습니다. 전에 약간의 속임수가 있었기 때문에 시간을내어 그것을 쓰고 공유했습니다. 같은 문제가 발생하면 도움이되기를 바랍니다.
문제의 원인과 해결책
실제로,이 문제의 이유는 공식 문서에 구체적으로 설명되어 있습니다. 나는 너무 부주의 한 것에 대해 나 자신을 비난 할 수 있습니다. 세부 사항은 다음과 같습니다.
Curl로 이와 같이 테스트하는 경우 -Data-urlencode (-d 대신)를 사용하거나 명시 적 컨텐츠 유형 : Text/Plain을 설정하여 Curl이 특수 문자가있을 때 데이터를 올바르게 인코딩하는지 확인하십시오 ( '+'는 특히 까다 롭다).
따라서 컬을 사용할 때 올바른 자세는 다음과 같습니다.
$ curl localhost : 7001/encrypt -h 'content-type : text/plain'-data-urlencode "ef34+5edo ="335e618a02a0ff3dc13773218885f484fb2c19a499423ee777755b875997b033 $ curl LocalHost : 7001/decrypt -h 'content-type : text/plain'-data-urlencode "335e618a02a0ff3dc137321885f484fb2c19a499423ee7776755b875997b033"ef34+5edo =
그렇다면 암호를 암호화하고 해독 할 도구를 작성할 때 어떻게 연주합니까? 다음은 참조를위한 OKHTTP의 예입니다.
개인 문자열 암호화 (문자열 값) {String url = "http : // localhost : 7001/encrypt"; 요청 요청 = 새 요청. 호출 전화 = OKHTTPCLIENT.NEWCALL (요청); 응답 응답 = call.execute (); ResponseBody responsebody = response.body (); return response.string ();} 개인 문자열 decrypt (문자열 값) {String url = "http : // localhost : 7001/decrypt"; 요청 요청 = 새 요청. 호출 전화 = OKHTTPCLIENT.NEWCALL (요청); 응답 응답 = call.execute (); ResponseBody responsebody = response.body (); return responsebody.string ();}요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.