문제 › 14

14. 암호화 도구

Medium 바이브코딩
문제 설명
[문제] 문자열 인코딩/디코딩과 시저 암호를 처리하는 MCP(Model Context Protocol, AI가 호출하는 함수 모음) 서버를 구현하세요. Base64는 임의의 데이터를 알파벳·숫자·일부 기호로만 표현하는 인코딩 방식이고, 시저 암호는 알파벳을 일정 칸수만큼 밀어 바꾸는 고전 암호입니다. [구현할 함수] - encode_base64(text: str) -> str 문자열을 Base64로 인코딩한 결과 문자열을 반환한다. - decode_base64(encoded: str) -> str Base64 문자열을 원문으로 디코딩한 결과 문자열을 반환한다. - caesar_cipher(text: str, shift: int = 3, mode: str = "encrypt") -> str 알파벳을 shift 칸만큼 밀어 암호화/복호화한 문자열을 반환한다. mode="encrypt"면 뒤로(Z 다음은 A로 wrap), mode="decrypt"면 앞으로(A 이전은 Z로 wrap) 민다. [입력·상태] - caesar_cipher의 shift 기본값은 3, mode 기본값은 "encrypt". [제약] - 시저 암호에서 알파벳이 아닌 문자(공백, 하이픈, 숫자 등)는 그대로 둔다. - 시저 암호는 대소문자를 유지한다(대문자는 대문자 범위, 소문자는 소문자 범위에서 wrap). - [힌트] Base64는 표준 라이브러리 사용(Python: base64 / C++: 직접 구현 또는 라이브러리 / Java: java.util.Base64). [예시] encode_base64("Hello") -> "SGVsbG8=" decode_base64("SGVsbG8=") -> "Hello" caesar_cipher("Abc-XYZ", 3, "encrypt") -> "Def-ABC"
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.