5759c1862e
M0-M7 已完成:核心网关(身份/RBAC/TOTP/OIDC/SAML/Provider/配额/路由/内容策略/审计/定价)+ 资源市场(MCP/Skills/数字员工)。 含 22 个 PostgreSQL 迁移、管理端/门户端前端源码、OpenAPI 契约、部署 compose。 Co-Authored-By: Claude <noreply@anthropic.com>
27 lines
721 B
Go
27 lines
721 B
Go
package provider
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"testing"
|
|
)
|
|
|
|
func TestCredentialCipherRoundTripAndAuthentication(t *testing.T) {
|
|
key := base64.StdEncoding.EncodeToString(make([]byte, 32))
|
|
cipher, err := NewCredentialCipher(key, 7)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
encrypted, version, err := cipher.Encrypt([]byte(`{"api_key":"secret"}`))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
plaintext, err := cipher.Decrypt(encrypted, version)
|
|
if err != nil || string(plaintext) != `{"api_key":"secret"}` {
|
|
t.Fatalf("unexpected decrypt result %q: %v", plaintext, err)
|
|
}
|
|
encrypted[len(encrypted)-1] ^= 1
|
|
if _, err := cipher.Decrypt(encrypted, version); err == nil {
|
|
t.Fatal("tampered ciphertext must fail authentication")
|
|
}
|
|
}
|