diff options
author | Phil Pearl <philip.j.r.pearl@gmail.com> | 2018-06-20 20:40:33 +0100 |
---|---|---|
committer | Filippo Valsorda <filippo@golang.org> | 2018-08-02 22:14:25 +0000 |
commit | db810b6e394c38a0bd0eb52c3475d0fbc08469f8 (patch) | |
tree | d32323dc5cf44fdf74229be272d70239644dadc6 | |
parent | 25aaeaa935484e3c341ef8a411069d7dd58afcfa (diff) | |
download | go-db810b6e394c38a0bd0eb52c3475d0fbc08469f8.tar.gz go-db810b6e394c38a0bd0eb52c3475d0fbc08469f8.zip |
crypto/ecdsa: add a package level example
Change-Id: I4063d5ec4ac45561b94472b528583be564981912
Reviewed-on: https://go-review.googlesource.com/120144
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
-rw-r--r-- | src/crypto/ecdsa/example_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/crypto/ecdsa/example_test.go b/src/crypto/ecdsa/example_test.go new file mode 100644 index 0000000000..bddeab8955 --- /dev/null +++ b/src/crypto/ecdsa/example_test.go @@ -0,0 +1,32 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package ecdsa_test + +import ( + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/sha256" + "fmt" +) + +func Example() { + privateKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) + if err != nil { + panic(err) + } + + msg := "hello, world" + hash := sha256.Sum256([]byte(msg)) + + r, s, err := ecdsa.Sign(rand.Reader, privateKey, hash[:]) + if err != nil { + panic(err) + } + fmt.Printf("signature: (0x%x, 0x%x)\n", r, s) + + valid := ecdsa.Verify(&privateKey.PublicKey, hash[:], r, s) + fmt.Println("signature verified:", valid) +} |