feat(encryption): refactor encryption provider scripts, update KMS integration, and enhance key management
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"crypto/md5"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func getModelName() string {
|
||||
file, err := os.Open("/proc/cpuinfo")
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
defer file.Close()
|
||||
scanner := bufio.NewScanner(file)
|
||||
re := regexp.MustCompile(`^model name\s*:\s*(.*)$`)
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
if matches := re.FindStringSubmatch(line); matches != nil {
|
||||
return matches[1]
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func getEth0Mac() string {
|
||||
out, err := exec.Command("ip", "link").Output()
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
re := regexp.MustCompile(`^(\d+):\s+([a-zA-Z0-9]+):.*<.*>\s+link/ether\s+([0-9a-f:]{17})`)
|
||||
matches := re.FindAllStringSubmatch(string(out), -1)
|
||||
fmt.Println("Matches:", matches)
|
||||
if len(matches) == 0 {
|
||||
return ""
|
||||
}
|
||||
first_device := matches[0][2]
|
||||
fmt.Println("First device:", first_device)
|
||||
// Get the MAC address of the first device
|
||||
out, err = exec.Command("ip", "link", "show", first_device).Output()
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
re = regexp.MustCompile(`ether\s+([0-9a-f:]{17})`)
|
||||
match := re.FindStringSubmatch(string(out))
|
||||
if match != nil {
|
||||
return match[1]
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func getSystemUUID() string {
|
||||
out, err := exec.Command("sudo", "dmidecode", "-s", "system-uuid").Output()
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return strings.TrimSpace(string(out))
|
||||
}
|
||||
|
||||
func md5sum(s string) string {
|
||||
h := md5.New()
|
||||
io.WriteString(h, s)
|
||||
return hex.EncodeToString(h.Sum(nil))
|
||||
}
|
||||
|
||||
func main() {
|
||||
uuid := getModelName()
|
||||
uuid += getEth0Mac()
|
||||
uuid += getSystemUUID()
|
||||
fmt.Println(uuid)
|
||||
hash := md5sum(uuid)
|
||||
fmt.Println(hash)
|
||||
}
|
||||
Reference in New Issue
Block a user