Files
2025-06-27 20:03:37 -07:00

18 lines
408 B
Go

package crypto
import (
"encoding/binary"
"github.com/go-faster/xor"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
)
// ServerSalt computes server salt.
func ServerSalt(newNonce bin.Int256, serverNonce bin.Int128) (salt int64) {
var serverSalt [8]byte
copy(serverSalt[:], newNonce[:8])
xor.Bytes(serverSalt[:], serverSalt[:], serverNonce[:8])
return int64(binary.LittleEndian.Uint64(serverSalt[:]))
}