암호출력

2026년 8월 7일 09:30분

사사기 14장에서 삼손은 사자와 꿀에 관한 수수께끼를 내고 7일 만에 아내에게 누설됩니다. 나는 간단한 시저 암호로 수수께끼를 암호화하고 해독하는 시스템을 만들었습니다.

package com.jesusbornd.judges;

public class Judges_14_Chapter_Lv2 {
    static String encode(String plain) {
        return plain.chars()
            .map(c -> c + 1)
            .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
            .toString();
    }

    static String decode(String cipher) {
        return cipher.chars()
            .map(c -> c - 1)
            .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
            .toString();
    }

    public static void main(String[] args) {
        String riddle = "먹는자에서단것이나왔다";
        String encoded = encode(riddle);
        System.out.println("수수께끼 암호화: " + encoded);
        System.out.println("해독:           " + decode(encoded));
        System.out.println("정답:           사자_꿀 (7일 만에 누설)");
    }
}

def encode(plain: str) -> str:
    return "".join(chr(ord(c) + 1) for c in plain)

def decode(cipher: str) -> str:
    return "".join(chr(ord(c) - 1) for c in cipher)

if __name__ == "__main__":
    riddle = "먹는자에서단것이나왔다"
    encoded = encode(riddle)
    print(f"수수께끼 암호화: {encoded}")
    print(f"해독:           {decode(encoded)}")
    print("정답:           사자_꿀 (7일 만에 누설)")

Comments

Avatar
 2026년 8월 7일 12:03분

비밀은 암호화해도 사람을 통해 누설되는 게 가장 큰 취약점이네요.



Search

← 목록으로