1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package ncutils
- import (
- "bytes"
- "crypto/rand"
- "encoding/gob"
- )
- // DEFAULT_GC_PERCENT - garbage collection percent
- const DEFAULT_GC_PERCENT = 10
- // == OS PATH FUNCTIONS ==
- // ConvertKeyToBytes - util to convert a key to bytes to use elsewhere
- func ConvertKeyToBytes(key *[32]byte) ([]byte, error) {
- var buffer bytes.Buffer
- var enc = gob.NewEncoder(&buffer)
- if err := enc.Encode(key); err != nil {
- return nil, err
- }
- return buffer.Bytes(), nil
- }
- // ConvertBytesToKey - util to convert bytes to a key to use elsewhere
- func ConvertBytesToKey(data []byte) (*[32]byte, error) {
- var buffer = bytes.NewBuffer(data)
- var dec = gob.NewDecoder(buffer)
- var result = new([32]byte)
- var err = dec.Decode(result)
- if err != nil {
- return nil, err
- }
- return result, err
- }
- // MakeRandomString - generates a random string of len n
- func MakeRandomString(n int) string {
- const validChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
- result := make([]byte, n)
- if _, err := rand.Reader.Read(result); err != nil {
- return ""
- }
- for i, b := range result {
- result[i] = validChars[b%byte(len(validChars))]
- }
- return string(result)
- }
|