|
|
|
@ -3,7 +3,7 @@ package util
|
|
|
|
|
import (
|
|
|
|
|
"encoding/binary"
|
|
|
|
|
|
|
|
|
|
//xxhash "github.com/OneOfOne/xxhash"
|
|
|
|
|
xxhash "github.com/OneOfOne/xxhash"
|
|
|
|
|
mux "github.com/cbeuw/Cloak/internal/multiplex"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -11,18 +11,18 @@ import (
|
|
|
|
|
// The keys are generated from the SID and the payload of the frame.
|
|
|
|
|
// FIXME: this code will panic if len(data)<18.
|
|
|
|
|
func genXorKeys(secret []byte, data []byte) (i uint32, ii uint32, iii uint32) {
|
|
|
|
|
/*
|
|
|
|
|
h := xxhash.New32()
|
|
|
|
|
ret := make([]uint32, 3)
|
|
|
|
|
preHash := make([]byte, 16)
|
|
|
|
|
for j := 0; j < 3; j++ {
|
|
|
|
|
copy(preHash[0:10], secret[j*10:j*10+10])
|
|
|
|
|
copy(preHash[10:16], data[j*6:j*6+6])
|
|
|
|
|
h.Write(preHash)
|
|
|
|
|
ret[j] = h.Sum32()
|
|
|
|
|
}
|
|
|
|
|
return ret[0], ret[1], ret[2]
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
h := xxhash.New32()
|
|
|
|
|
ret := make([]uint32, 3)
|
|
|
|
|
preHash := make([]byte, 16)
|
|
|
|
|
for j := 0; j < 3; j++ {
|
|
|
|
|
copy(preHash[0:10], secret[j*10:j*10+10])
|
|
|
|
|
copy(preHash[10:16], data[j*6:j*6+6])
|
|
|
|
|
h.Write(preHash)
|
|
|
|
|
ret[j] = h.Sum32()
|
|
|
|
|
}
|
|
|
|
|
return ret[0], ret[1], ret[2]
|
|
|
|
|
|
|
|
|
|
return 0, 0, 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|