key.go 373 B

12345678910111213141516171819
  1. package main
  2. var keyChar = []byte("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
  3. func genKey(n int) string {
  4. if n == 0 {
  5. return string(keyChar[0])
  6. }
  7. l := len(keyChar)
  8. s := make([]byte, 20) // FIXME: will overflow. eventually.
  9. i := len(s)
  10. for n > 0 && i >= 0 {
  11. i--
  12. j := n % l
  13. n = (n - j) / l
  14. s[i] = keyChar[j]
  15. }
  16. return string(s[i:])
  17. }