mirror of
https://github.com/aykhans/oh-my-url.git
synced 2025-04-17 02:23:13 +00:00
27 lines
471 B
Go
27 lines
471 B
Go
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)
|
|
}
|