Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
package crypt
import (
"bytes"
"testing"
)
// TestCoreAesEncryptDecryptExRoundTrip 校验新增的 CoreAesDecryptEx 与 CoreAesEncryptEx 互逆。
func TestCoreAesEncryptDecryptExRoundTrip(t *testing.T) {
key := "h5-m3u8-ticket-key-roundtrip-000000000000"
plains := [][]byte{
[]byte(""),
[]byte("a"),
[]byte(`{"u":10086,"p":"v3/av/a.m3u8","e":1737000000}`),
bytes.Repeat([]byte("x"), 512),
}
for _, plain := range plains {
enc, err := CoreAesEncryptEx(plain, 12, key)
if err != nil {
t.Fatalf("encrypt: %v", err)
}
dec, err := CoreAesDecryptEx(enc, 12, key)
if err != nil {
t.Fatalf("decrypt: %v", err)
}
if !bytes.Equal(dec, plain) {
t.Fatalf("round trip mismatch: got %q want %q", dec, plain)
}
}
}
// TestCoreAesDecryptExRejectsShort 确保短于 nonce 的非法输入不 panic 且返回错误。
func TestCoreAesDecryptExRejectsShort(t *testing.T) {
if _, err := CoreAesDecryptEx([]byte{1, 2, 3}, 12, "key"); err == nil {
t.Fatal("expected error for input shorter than nonce")
}
}
// TestCoreAesDecryptExWrongKey 用错误密钥解密不应还原出原文。
func TestCoreAesDecryptExWrongKey(t *testing.T) {
enc, err := CoreAesEncryptEx([]byte("secret-payload"), 12, "key-a-000000000000000000000000000000")
if err != nil {
t.Fatalf("encrypt: %v", err)
}
dec, err := CoreAesDecryptEx(enc, 12, "key-b-111111111111111111111111111111")
if err == nil && string(dec) == "secret-payload" {
t.Fatal("wrong key must not recover plaintext")
}
}