区块链培训怎么样?关键还是看其课程质量,下面是我写的一系列课程讲解,大家可以先学习一下!感兴趣的还可以找我要视频哈!
8.1.1 ECC数字签名(ECDSA)核心代码
下面通过一个案例验证数字签名,如例所示。
例1-1 ECDSA
1 package main
2 import (
3 "crypto/ecdsa"
4 "crypto/elliptic"
5 "crypto/rand"
6 "crypto/sha256"
7 "encoding/hex"
8 "fmt"
9 "log"
10 "math/big"
11 )
12 func main() {
13 fmt.Println("生成签名-------------------------------")
14 privKey, pubKey := NewKeyPair()
15 msg := sha256.Sum256([]byte("hello world"))
16 r, s, _ := ecdsa.Sign(rand.Reader, &privKey, msg[:])
17 strSigR := fmt.Sprintf("%x", r)
18 strSigS := fmt.Sprintf("%x", s)
19 fmt.Println("r、s的10进制分别为:", r, s)
20 fmt.Printl