mirror of
https://github.com/aykhans/oh-my-url.git
synced 2025-07-05 17:52:36 +00:00
🎉 first commit
This commit is contained in:
26
app/utils/short_key.go
Normal file
26
app/utils/short_key.go
Normal file
@ -0,0 +1,26 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
const keyCharacters string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||
|
||||
func GenerateKey(n int) string {
|
||||
var result strings.Builder
|
||||
base := len(keyCharacters)
|
||||
|
||||
for n > 0 {
|
||||
n--
|
||||
result.WriteByte(keyCharacters[n%base])
|
||||
n /= base
|
||||
}
|
||||
|
||||
key := result.String()
|
||||
runes := []rune(key)
|
||||
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
|
||||
runes[i], runes[j] = runes[j], runes[i]
|
||||
}
|
||||
|
||||
return string(runes)
|
||||
}
|
Reference in New Issue
Block a user