code wiki / _hdl_build / _doc_cas_authored.nx
_doc_cas_authored.nx source
↩ module page · 14 lines · 708 B
1// AUTHORED BY THE NISHI BUILDER (doc-cas template) -- content-addressed document ID via sha256, bits-up
2import "nx_sha256.nx"
3func doc_cas_id(bytes: *u8, n: i64, out32: *u8) -> i64 { return sha256_digest(bytes, n, out32) }
4func main() -> i64 {
5 let id1: *u8=sys_mmap(32); let id2: *u8=sys_mmap(32); let id3: *u8=sys_mmap(32)
6 doc_cas_id("Hello Reader" as *u8, 12, id1)
7 doc_cas_id("Hello Reader" as *u8, 12, id2)
8 doc_cas_id("Hello Readez" as *u8, 12, id3)
9 var same: i64=1; var i: i64=0; while i<32 { if id1[i]!=id2[i] { same=0 } i=i+1 }
10 var diff: i64=0; i=0; while i<32 { if id1[i]!=id3[i] { diff=1 } i=i+1 }
11 if same==1 { if diff==1 { sys_exit(0) } }
12 sys_exit(1)
13 return 1
14}