]> Cypherpunks.ru repositories - balloon.git/blob - cmd/balloon/main.go
91fddc2924fa03fb74680240a11437c8773f15c7
[balloon.git] / cmd / balloon / main.go
1 package main
2
3 import (
4         "crypto/sha512"
5         "encoding/hex"
6         "flag"
7         "fmt"
8
9         "cypherpunks.ru/balloon"
10 )
11
12 func main() {
13         s := flag.Int("s", 1<<18, "Space cost, number of hash-sized blocks")
14         t := flag.Int("t", 2, "Time cost, rounds")
15         p := flag.Int("p", 4, "Number of threads")
16         saltHex := flag.String("salt", "deadbabe", "Salt, hexadecimal")
17         passwd := flag.String("passwd", "", "Password")
18         flag.Parse()
19         salt, err := hex.DecodeString(*saltHex)
20         if err != nil {
21                 panic(err)
22         }
23         fmt.Println(hex.EncodeToString(balloon.H(sha512.New, []byte(*passwd), salt, *s, *t, *p)))
24 }