diff options
Diffstat (limited to 'internal/app/id.go')
| -rw-r--r-- | internal/app/id.go | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/internal/app/id.go b/internal/app/id.go deleted file mode 100644 index e674c7dd..00000000 --- a/internal/app/id.go +++ /dev/null @@ -1,48 +0,0 @@ -package app - -import ( - "crypto/rand" - "encoding/hex" - "errors" - "fmt" -) - -type ID [16]byte - -var ( - ErrInvalidLength = errors.New("string representation must have a length of 32") -) - -func (a *ID) String() string { - return hex.EncodeToString(a[:]) -} - -func NewAppID(id *ID) error { - _, err := rand.Read(id[:]) - return err -} - -func ParseAppID(id *ID, s string) error { - if len(s) != 32 { - return ErrInvalidLength - } - - for i, b := range s { - if b < '0' || b > 'f' { - return fmt.Errorf("invalid char %q at byte %d", b, i) - } - - v := uint8(b) - if v > '9' { - v = 10 + v - 'a' - } else { - v -= '0' - } - if i%2 == 0 { - v <<= 4 - } - id[i/2] += v - } - - return nil -} |
