@tacet-ink/journal-core 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/client/note-crypto.js +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,6 +15,16 @@
|
|
|
15
15
|
這是 [默·Tacet(tacet.ink)](https://tacet.ink) 的客戶端/伺服端核心原語層,
|
|
16
16
|
從多個姊妹產品共用的密碼學本體抽取而成,以品牌前綴參數化(前綴契約見下表)。
|
|
17
17
|
|
|
18
|
+
## Live demo
|
|
19
|
+
|
|
20
|
+
[https://tacet.ink/secret](https://tacet.ink/secret):默·Tacet 的一次性分享站,也是本函式庫原語的線上演示。
|
|
21
|
+
read-once(讀取一次即失效)、零帳號、免安裝;伺服器永不落明文:加密與解密都在瀏覽器端完成(端對端),
|
|
22
|
+
密文經 AES-GCM-256 加密、連結 id 是 SHA-256 截斷(兩者皆與本函式庫同組 WebCrypto 原語、同一呼叫形)。單頁、無框架;
|
|
23
|
+
原始碼在 Tacet 主 repo(private),頁尾另有[驗證頁](https://tacet.ink/verify)入口。
|
|
24
|
+
|
|
25
|
+
**English**: Live demo: https://tacet.ink/secret. Read-once, zero-account, E2E secret sharing
|
|
26
|
+
built on this library's WebCrypto primitives. Single-page, no framework.
|
|
27
|
+
|
|
18
28
|
## Quickstart
|
|
19
29
|
|
|
20
30
|
```ts
|
|
@@ -566,6 +566,12 @@ export async function encryptNote(cfg, held, plaintext, aad, idp) {
|
|
|
566
566
|
* 不明字串一律 null=guest 家族整面拒絕,跨前綴鐵律不降級);失敗回 null。 */
|
|
567
567
|
export async function decryptNote(cfg, held, cipher, aad, idp) {
|
|
568
568
|
try {
|
|
569
|
+
// 空字串密文正規化(2026-10-18 t_b81f22cd 面1):trim 後空=拒(null)。
|
|
570
|
+
// 既有「無前綴=舊明文原樣返回」相容層對 ''/純空白會原樣回傳=空/空白密文
|
|
571
|
+
// 畸形進解密面、被當舊明文落 UI(truthiness 正規化缺失)。空/空白非合法舊明文,
|
|
572
|
+
// fail-closed 回 null(與本函式任何不符面同一 null 契約,不拋);非空字串零影響。
|
|
573
|
+
if (cipher.trim() === '')
|
|
574
|
+
return null;
|
|
569
575
|
// guest 前綴正規化:畸形配置 ''(空字串)會讓
|
|
570
576
|
// startsWith('') 恆真=bound 列誤導 guest 分支回 null(解密面整列滅失)。
|
|
571
577
|
// falsy 一律收斂為 undefined,與加密面「未配置即拒」truthiness 對稱。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacet-ink/journal-core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Zero-knowledge journal core — e2e crypto, passphrase-only auth, transport, ratelimit. The server never sees plaintext.",
|
|
5
5
|
"homepage": "https://tacet.ink",
|
|
6
6
|
"repository": {
|