33 lines
526 B
Go
33 lines
526 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"bufio"
|
||
|
"encoding/base64"
|
||
|
"fmt"
|
||
|
"os"
|
||
|
|
||
|
"golang.org/x/crypto/scrypt"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
scryptSalt = "linx-server"
|
||
|
scryptN = 16384
|
||
|
scryptr = 8
|
||
|
scryptp = 1
|
||
|
scryptKeyLen = 32
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
fmt.Printf("Enter key to hash: ")
|
||
|
|
||
|
scanner := bufio.NewScanner(os.Stdin)
|
||
|
scanner.Scan()
|
||
|
|
||
|
checkKey, err := scrypt.Key([]byte(scanner.Text()), []byte(scryptSalt), scryptN, scryptr, scryptp, scryptKeyLen)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
fmt.Println(base64.StdEncoding.EncodeToString(checkKey))
|
||
|
}
|