63 lines
974 B
Go
63 lines
974 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
func getAppKey(deveui string) string {
|
|
if len(deveui) == 16 {
|
|
appkey := fmt.Sprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
|
|
deveui[10],
|
|
deveui[3],
|
|
deveui[4],
|
|
deveui[7],
|
|
deveui[15],
|
|
deveui[9],
|
|
deveui[11],
|
|
deveui[2],
|
|
deveui[0],
|
|
deveui[8],
|
|
deveui[1],
|
|
deveui[6],
|
|
deveui[5],
|
|
deveui[12],
|
|
deveui[14],
|
|
deveui[13],
|
|
deveui[3],
|
|
deveui[6],
|
|
deveui[12],
|
|
deveui[7],
|
|
deveui[15],
|
|
deveui[1],
|
|
deveui[9],
|
|
deveui[11],
|
|
deveui[2],
|
|
deveui[10],
|
|
deveui[0],
|
|
deveui[8],
|
|
deveui[5],
|
|
deveui[14],
|
|
deveui[4],
|
|
deveui[13])
|
|
|
|
return appkey
|
|
|
|
} else {
|
|
fmt.Printf("devEui has wrong length: %s\n", deveui)
|
|
return ""
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
if len(os.Args) != 2 {
|
|
fmt.Println("usage: " + filepath.Base(os.Args[0]) + " <DevEui>")
|
|
os.Exit(1)
|
|
}
|
|
|
|
devEui := os.Args[1]
|
|
appKey := getAppKey(devEui)
|
|
fmt.Printf("%s\n", appKey)
|
|
}
|