evilginx2/core/utils.go

38 lines
653 B
Go
Raw Normal View History

2018-07-26 11:20:37 +02:00
package core
import (
"crypto/rand"
"crypto/sha256"
"fmt"
"os"
)
func GenRandomToken() string {
rdata := make([]byte, 64)
rand.Read(rdata)
hash := sha256.Sum256(rdata)
token := fmt.Sprintf("%x", hash)
return token
}
func GenRandomString(n int) string {
const lb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
b := make([]byte, n)
for i := range b {
t := make([]byte, 1)
rand.Read(t)
b[i] = lb[int(t[0])%len(lb)]
}
return string(b)
}
func CreateDir(path string, perm os.FileMode) error {
if _, err := os.Stat(path); os.IsNotExist(err) {
err = os.Mkdir(path, perm)
if err != nil {
return err
}
}
return nil
}