OverviewFilesCommitsIssuesDocsReleasesPeers

ANProto commits / 69105f3

add open and make sure pubkey ships with sign
69105f318e98ad3ae33857da531f4242b0d123c2
by Ev Bogue <ev@evbogue.com> · 2025-08-14T18:59:35.000Z

Changed files (3) +24 -5

README.md +9 -2
……@@ -10,13 +10,20 @@ use Deno or your browser
1010import { a } from './a.js'
1111
1212console.log(await a.gen())
13// NtrdkXob+epH2c/k3GVtdw8lnJzMt+eEWQQ5VYgaARc=XgGOj8lESOXzfmoN6tA5fca+c5fXukw1LJFJYVhf38U22t2Rehv56kfZz+TcZW13DyWcnMy354RZBDlViBoBFw==
13
14// BSY7/er4VJIu08o39NaRAiPY/MAvd7oQhlGCRDABjYU=tQa03kqUWG3VtHZ98++lHFBeQ4JKZwuTH2CjC/K6P8EFJjv96vhUki7Tyjf01pECI9j8wC93uhCGUYJEMAGNhQ==
1415
1516console.log(await a.hash('Hello World'))
1617// pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=
1718
1819console.log(await a.sig('Hello World', await a.gen()))
19// 6qEZt6kv82bBpDcN0KFMUd7Bhj9HM8pDmK/+AvoPuOGH/DxdBJyOf/wsIx/IyLJRDpSL4jbIKa7mNyUEfrSWDTE3NTUxOTI3NzkwMzhwWkdtMUF2MElFQktBUmN6ejdleGtOWXNaYjhMemFNclY3SjMyYTJmRkc0PQ==
20// BSY7/er4VJIu08o39NaRAiPY/MAvd7oQhlGCRDABjYU=yVpD8i7d3d4dls3YThEg1x1vSdmqeEweV4e4Ejl/8yPoVG7JR0YAKDPagQOgxXMrlCVLNNqvlNvj4xRDOYDLBjE3NTUxOTc4NDEzMTlwWkdtMUF2MElFQktBUmN6ejdleGtOWXNaYjhMemFNclY3SjMyYTJmRkc0PQ==
21
22console.log(await a.open('BSY7/er4VJIu08o39NaRAiPY/MAvd7oQhlGCRDABjYU=yVpD8i7d3d4dls3YThEg1x1vSdmqeEweV4e4Ejl/8yPoVG7JR0YAKDPagQOgxXMrlCVLNNqvlNvj4xRDOYDLBjE3NTUxOTc4NDEzMTlwWkdtMUF2MElFQktBUmN6ejdleGtOWXNaYjhMemFNclY3SjMyYTJmRkc0PQ=='))
23
24//1755197841319pZGm1Av0IEBKARczz7exkNYsZb8LzaMrV7J32a2fFG4=
2025```
26
2127---
28
2229MIT
a.js +9 -1
……@@ -26,5 +26,13 @@ a.sign = async (d, k) => {
2626 nacl.sign(new TextEncoder().encode(ts + h), decode(k.substring(44))),
2727 );
2828
29 return s;
29 return k.substring(0, 44) + s;
30};
31
32a.open = async (m) => {
33 const o = new TextDecoder().decode(
34 nacl.sign.open(decode(m.substring(44)), decode(m.substring(0, 44))),
35 );
36
37 return o;
3038};
ex.js +6 -2
……@@ -1,8 +1,12 @@
11import { a } from "./a.js";
22
33const m = "Hello World";
4const h = await a.hash(m);
45const k = await a.gen();
6const s = await a.sign(m, k);
7const o = await a.open(s);
58
69console.log(k);
7console.log(await a.hash(m));
8console.log(await a.sign(m, k));
10console.log(h);
11console.log(s);
12console.log(o);