mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-13 17:09:07 +02:00
- Add sha prefix for peer id in protocol
- Add magic cookie in hello msg - Add tests
This commit is contained in:
+11
-4
@@ -3,18 +3,25 @@ package messages
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const (
|
||||
IDSize = sha256.Size
|
||||
prefixLength = 4
|
||||
IDSize = sha256.Size + 4 // 4 is equal with len(prefix)
|
||||
)
|
||||
|
||||
var (
|
||||
prefix = []byte("sha-") // 4 bytes
|
||||
)
|
||||
|
||||
func HashID(peerID string) ([]byte, string) {
|
||||
idHash := sha256.Sum256([]byte(peerID))
|
||||
idHashString := base64.StdEncoding.EncodeToString(idHash[:])
|
||||
return idHash[:], idHashString
|
||||
idHashString := string(prefix) + base64.StdEncoding.EncodeToString(idHash[:])
|
||||
prefixedHash := append(prefix, idHash[:]...)
|
||||
return prefixedHash, idHashString
|
||||
}
|
||||
|
||||
func HashIDToString(idHash []byte) string {
|
||||
return base64.StdEncoding.EncodeToString(idHash)
|
||||
return fmt.Sprintf("%s%s", idHash[:prefixLength], base64.StdEncoding.EncodeToString(idHash[prefixLength:]))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user