해시구분

2026년 2월 2일 12:18분

package com.jesusbornd.exodus;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;

public class Exodus_24_Chapter_Lv2 {

    record CovenantCommit(String terms, String witnesses, String seal, String hashHex) {}

    static String sha256Hex(String input) throws Exception {
        MessageDigest md = MessageDigest.getInstance("SHA-256");
        byte[] digest = md.digest(input.getBytes(StandardCharsets.UTF_8));
        StringBuilder sb = new StringBuilder();
        for (byte b : digest) sb.append(String.format("%02x", b));
        return sb.toString();
    }

    public static void main(String[] args) throws Exception {
        String terms = "말씀 / Words";
        String witnesses = "백성 / People";
        String seal = "피의 표 / Blood as seal";

        String payload = String.join("|", terms, witnesses, seal);
        CovenantCommit commit = new CovenantCommit(terms, witnesses, seal, sha256Hex(payload));

        System.out.println(commit);
    }
}

import hashlib
from dataclasses import dataclass

@dataclass(frozen=True)
class CovenantCommit:
    terms: str
    witnesses: str
    seal: str
    hash_hex: str

def sha256_hex(s: str) -> str:
    return hashlib.sha256(s.encode("utf-8")).hexdigest()

terms = "말씀 / Words"
witnesses = "백성 / People"
seal = "피의 표 / Blood as seal"

payload = "|".join([terms, witnesses, seal])
commit = CovenantCommit(terms=terms, witnesses=witnesses, seal=seal, hash_hex=sha256_hex(payload))

print(commit)

Comments

Avatar
 2026년 2월 2일 12:20분

“언약은 감정이 아니라 커밋이다—말씀·백성·피가 payload가 되고, 해시는 ‘돌아갈 수 없음’을 증명한다.”



Search

← 목록으로