해시구분
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)
Search
Categories
← 목록으로
Comments
“언약은 감정이 아니라 커밋이다—말씀·백성·피가 payload가 되고, 해시는 ‘돌아갈 수 없음’을 증명한다.”