LLeafVellin
Pracovní prostředí s AI pro kód

Tvorba označeného kořene Merkle

Vytvořte kořen Merkle SHA-256 z jednoho až 64 bajtových listů do 4096 bajtů s oddělenými značkami listů a rodičů.

● ● ●LeafVellin●
Pracovní postupy · Tvorba označeného kořene Merkle ×
import hashlib

def merkle_root(leaves):
    if type(leaves) is not list or not 1 <= len(leaves) <= 64 or any(type(x) is not bytes or len(x) > 4096 for x in leaves):
        raise ValueError("merkle.leaves")
    level = [hashlib.sha256(b"\x00"+x).digest() for x in leaves]
    while len(level) > 1:
        if len(level) % 2:
            level.append(level[-1])
        level = [hashlib.sha256(b"\x01"+level[i]+level[i+1]).digest() for i in range(0, len(level), 2)]
    return level[0].hex()
✳Tvorba označeného kořene Merkle
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
ProjektOtestujte lichou úroveň zdvojením posledního uzlu a odmítněte prázdný vstup bez tvrzení o důkazu vlastnictví.
Před použitím zkontrolujtePorovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
ModelyNastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Pracovní postupy

Tvorba označeného kořene Merkle

Pracovní postupy ↗
Pracovní postupy
import hashlib

def merkle_root(leaves):
    if type(leaves) is not list or not 1 <= len(leaves) <= 64 or any(type(x) is not bytes or len(x) > 4096 for x in leaves):
        raise ValueError("merkle.leaves")
    level = [hashlib.sha256(b"\x00"+x).digest() for x in leaves]
    while len(level) > 1:
        if len(level) % 2:
            level.append(level[-1])
        level = [hashlib.sha256(b"\x01"+level[i]+level[i+1]).digest() for i in range(0, len(level), 2)]
    return level[0].hex()
Pracovní prostředí s AI pro kód

Při změnách hašovacího kódu zachovejte bajtové konvence

LeafVellin je programovací prostředí pro Windows k diskusi o změnách zdrojů s připojeným modelem AI. Hašovací kód vyžaduje obzvlášť přesný popis zpracovávaných bajtů: nevinně vypadající změna reprezentace může vytvořit zcela jiný výsledek. Před žádostí o refaktoring začněte požadavkem na interoperabilitu a známým testovacím vstupem a výstupem.

Příklad Merkleova stromu s označenými uzly nabízí cílenou projektovou úlohu. Můžete asistenta požádat o prověření pořadí listů, odlišných prefixů listů a vnitřních uzlů a duplikace lichého posledního uzlu. Dodejte kód dodávající listy i využívající kořen, aby tyto konvence zůstaly viditelné v celé měněné cestě.

Navržené úpravy posuďte podle pevných testovacích příkladů pro jediný list, sudý počet a lichý počet. Spusťte kontroly v projektu a porovnejte přesné hodnoty kořenů, nikoli pouze tvar výstupu. Má-li se shodovat jiná implementace, použijte její dokumentované konvence a nezávislé testy; samotná shoda názvu hašovací funkce nedokládá kompatibilní stromy.

Volba nefiltrovaného modelu AI je dostupná přes podporované koncové body kompatibilní s OpenAI nebo koncové body Anthropic v rozsahu, v jakém tyto služby nabízejí vybraný model. Podle potřeby nastavte přihlašovací údaje a ověřte nástroje a limity kontextu. Omezení poskytovatele nadále platí a konečné rozhodnutí o změně hašování stojí na vašem posouzení a důkazech.

Otázky před refaktoringem bajtového stromu

Na čem se musejí dvě implementace shodnout kromě hašovací funkce?

Určete bajty listů a jejich pořadí, prefixy, zřetězení vnitřních uzlů a zacházení s lichými počty uzlů. Přiložte přesné testy zvolené konstrukce. Společný název hašovací funkce neznamená shodu na těchto okolních konvencích.

Proč zahrnout test s jediným listem?

Odděluje konvenci listu od zpracování vnitřních uzlů a usnadňuje odhalení nechtěného dalšího hašování. Doplňte jej testy se sudým a lichým počtem více listů, aby kontrola pokryla také pravidla větvení konstrukce.

Mají se textové listy předávat přímo hašovacímu kódu?

Před hašováním definujte bajtové kódování a případnou normalizaci. Pokud je ve hře text, zahrňte do zadání hranici převodu. Jinak může refaktoring zachovat čitelný text a přitom změnit bajty, a tedy i hodnotu kořene.

Dokazuje shodný kořen důvěryhodnost širšího systému?

Dokládá shodu pro testovanou konstrukci a vstupy, nikoli všechny vlastnosti okolního systému. Posuďte ukládání, porovnávání a využití kořenů v aplikaci a širší tvrzení o integritě omezte na skutečně dostupné důkazy.

Stáhnout pro Windows ↗

LeafVellin · Aktualizováno 2026-10-25