github.com/xraypb/Xray-core@v1.8.1/transport/internet/kcp/cryptreal.go (about) 1 package kcp 2 3 import ( 4 "crypto/aes" 5 "crypto/cipher" 6 "crypto/sha256" 7 8 "github.com/xraypb/Xray-core/common" 9 ) 10 11 func NewAEADAESGCMBasedOnSeed(seed string) cipher.AEAD { 12 hashedSeed := sha256.Sum256([]byte(seed)) 13 aesBlock := common.Must2(aes.NewCipher(hashedSeed[:16])).(cipher.Block) 14 return common.Must2(cipher.NewGCM(aesBlock)).(cipher.AEAD) 15 }