FILE / ScuroNeko/mtg

mtglib/internal/obfuscated2/client_handshake_frame.go

Исходный файл и его история в репозитории.
FILE 7108fe99ec106bacaa48d7cf476ad4b5a948466b
Files
mtg/mtglib/internal/obfuscated2/client_handshake_frame.go
T
2021-03-21 21:19:26 +03:00

31 lines
724 B
Go

package obfuscated2
import "crypto/cipher"
type clientHandhakeFrame struct {
handshakeFrame
}
func (c *clientHandhakeFrame) decryptor(secret []byte) cipher.Stream {
hasher := acquireSha256Hasher()
defer releaseSha256Hasher(hasher)
hasher.Write(c.key()) // nolint: errcheck
hasher.Write(secret) // nolint: errcheck
return makeAesCtr(hasher.Sum(nil), c.iv())
}
func (c *clientHandhakeFrame) encryptor(secret []byte) cipher.Stream {
arr := clientHandhakeFrame{}
invertByteSlices(arr.data[:], c.data[:])
hasher := acquireSha256Hasher()
defer releaseSha256Hasher(hasher)
hasher.Write(arr.key()) // nolint: errcheck
hasher.Write(secret) // nolint: errcheck
return makeAesCtr(hasher.Sum(nil), arr.iv())
}