Browse Source

add hash subcommand

master v1.0.3
AJ ONeal 4 years ago
parent
commit
bf5d18e73a
  1. 1
      README.md
  2. 14
      cmd/hashcash/hashcash.go

1
README.md

@ -21,6 +21,7 @@ Usage:
hashcash new [subject *] [expires in 5m] [difficulty 10] hashcash new [subject *] [expires in 5m] [difficulty 10]
hashcash parse <hashcash> hashcash parse <hashcash>
hashcash solve <hashcash> hashcash solve <hashcash>
hashcash hash <hashcash>
hashcash verify <hashcash> [subject *] hashcash verify <hashcash> [subject *]
``` ```

14
cmd/hashcash/hashcash.go

@ -1,6 +1,8 @@
package main package main
import ( import (
"crypto/sha256"
"encoding/hex"
"encoding/json" "encoding/json"
"fmt" "fmt"
"os" "os"
@ -15,6 +17,7 @@ func help() {
fmt.Println("\thashcash new [subject *] [difficulty 10] [expires in 5m]") fmt.Println("\thashcash new [subject *] [difficulty 10] [expires in 5m]")
fmt.Println("\thashcash parse <hashcash>") fmt.Println("\thashcash parse <hashcash>")
fmt.Println("\thashcash solve <hashcash>") fmt.Println("\thashcash solve <hashcash>")
fmt.Println("\thashcash hash <hashcash>")
fmt.Println("\thashcash verify <hashcash> [subject *]") fmt.Println("\thashcash verify <hashcash> [subject *]")
} }
@ -107,6 +110,17 @@ func main() {
fmt.Println(h.String()) fmt.Println(h.String())
return return
case "hash":
var token string
if 3 != nargs {
help()
os.Exit(1)
return
}
token = args[2]
hash := sha256.Sum256([]byte(token))
fmt.Println(hex.EncodeToString(hash[:]))
return
case "verify": case "verify":
var token string var token string
if nargs < 3 { if nargs < 3 {

Loading…
Cancel
Save