فهرست منبع

Merge pull request #2 from hashicorp/generate-uuid-bytes

Added GenerateRandomBytes(int)
Vishal Nayak 9 سال پیش
والد
کامیت
73d19cdc2b
1فایلهای تغییر یافته به همراه12 افزوده شده و 4 حذف شده
  1. 12 4
      uuid.go

+ 12 - 4
uuid.go

@@ -6,13 +6,21 @@ import (
 	"fmt"
 )
 
-// GenerateUUID is used to generate a random UUID
-func GenerateUUID() (string, error) {
-	buf := make([]byte, 16)
+// GenerateRandomBytes is used to generate random bytes of given size.
+func GenerateRandomBytes(size int) ([]byte, error) {
+	buf := make([]byte, size)
 	if _, err := rand.Read(buf); err != nil {
-		return "", fmt.Errorf("failed to read random bytes: %v", err)
+		return nil, fmt.Errorf("failed to read random bytes: %v", err)
 	}
+	return buf, nil
+}
 
+// GenerateUUID is used to generate a random UUID
+func GenerateUUID() (string, error) {
+	buf, err := GenerateRandomBytes(16)
+	if err != nil {
+		return "", err
+	}
 	return FormatUUID(buf)
 }