AES-GCM · HKDF Nâng cao CA 06 / 11

API key đối tác: sao không hash như mật khẩu?

Hệ thống cấp API key nội bộ cho đối tác tích hợp:

func deriveKey(secret []byte, info string) []byte {
    key := make([]byte, 32)
    io.ReadFull(hkdf.New(sha256.New, secret, nil, []byte(info)), key)
    return key
}
key := deriveKey(masterSecret, "partner-api-key-v1")
ciphertext := aesGCMEncrypt(key, plainAPIKey)   // mã hoá 2 CHIỀU, không phải hash

Hệ thống MÃ HOÁ 2 CHIỀU (AES-GCM) API key gốc khi lưu DB, thay vì chỉ HASH 1 chiều như mật khẩu người dùng. Vì sao?