Skip to content

Commit 8021088

Browse files
committed
优化
1 parent 35ad6cb commit 8021088

File tree

11 files changed

+101
-211
lines changed

11 files changed

+101
-211
lines changed

cryptobin/dh/curve25519/from.go

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
// 生成密钥
12-
func (this Curve25519) GenerateKey() Curve25519 {
13-
privateKey, publicKey, err := curve25519.GenerateKey(rand.Reader)
12+
func (this Curve25519) GenerateKeyWithSeed(reader io.Reader) Curve25519 {
13+
privateKey, publicKey, err := curve25519.GenerateKey(reader)
1414

1515
this.privateKey = privateKey
1616
this.publicKey = publicKey
@@ -19,23 +19,18 @@ func (this Curve25519) GenerateKey() Curve25519 {
1919
}
2020

2121
// 生成密钥
22-
func GenerateKey() Curve25519 {
23-
return defaultCurve25519.GenerateKey()
22+
func GenerateKeyWithSeed(reader io.Reader) Curve25519 {
23+
return defaultCurve25519.GenerateKeyWithSeed(reader)
2424
}
2525

2626
// 生成密钥
27-
func (this Curve25519) GenerateKeyWithSeed(reader io.Reader) Curve25519 {
28-
privateKey, publicKey, err := curve25519.GenerateKey(reader)
29-
30-
this.privateKey = privateKey
31-
this.publicKey = publicKey
32-
33-
return this.AppendError(err)
27+
func (this Curve25519) GenerateKey() Curve25519 {
28+
return this.GenerateKeyWithSeed(rand.Reader)
3429
}
3530

3631
// 生成密钥
37-
func GenerateKeyWithSeed(reader io.Reader) Curve25519 {
38-
return defaultCurve25519.GenerateKeyWithSeed(reader)
32+
func GenerateKey() Curve25519 {
33+
return defaultCurve25519.GenerateKey()
3934
}
4035

4136
// ==========

cryptobin/dh/dh/from.go

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
)
1111

1212
// 生成密钥
13-
func (this DH) GenerateKey() DH {
14-
privateKey, publicKey, err := dh.GenerateKeyWithGroup(this.group, rand.Reader)
13+
func (this DH) GenerateKeyWithSeed(reader io.Reader) DH {
14+
privateKey, publicKey, err := dh.GenerateKeyWithGroup(this.group, reader)
1515

1616
this.privateKey = privateKey
1717
this.publicKey = publicKey
@@ -20,23 +20,18 @@ func (this DH) GenerateKey() DH {
2020
}
2121

2222
// 生成密钥
23-
func GenerateKey(name string) DH {
24-
return defaultDH.SetGroup(name).GenerateKey()
23+
func GenerateKeyWithSeed(reader io.Reader, name string) DH {
24+
return defaultDH.SetGroup(name).GenerateKeyWithSeed(reader)
2525
}
2626

2727
// 生成密钥
28-
func (this DH) GenerateKeyWithSeed(reader io.Reader) DH {
29-
privateKey, publicKey, err := dh.GenerateKeyWithGroup(this.group, reader)
30-
31-
this.privateKey = privateKey
32-
this.publicKey = publicKey
33-
34-
return this.AppendError(err)
28+
func (this DH) GenerateKey() DH {
29+
return this.GenerateKeyWithSeed(rand.Reader)
3530
}
3631

3732
// 生成密钥
38-
func GenerateKeyWithSeed(reader io.Reader, name string) DH {
39-
return defaultDH.SetGroup(name).GenerateKeyWithSeed(reader)
33+
func GenerateKey(name string) DH {
34+
return defaultDH.SetGroup(name).GenerateKey()
4035
}
4136

4237
// ==========

cryptobin/dh/ecdh/from.go

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
// 生成密钥
12-
func (this ECDH) GenerateKey() ECDH {
13-
privateKey, publicKey, err := ecdh.GenerateKey(this.curve, rand.Reader)
12+
func (this ECDH) GenerateKeyWithSeed(reader io.Reader) ECDH {
13+
privateKey, publicKey, err := ecdh.GenerateKey(this.curve, reader)
1414

1515
this.privateKey = privateKey
1616
this.publicKey = publicKey
@@ -20,24 +20,19 @@ func (this ECDH) GenerateKey() ECDH {
2020

2121
// 生成密钥
2222
// 可用参数 [P521 | P384 | P256 | P224]
23-
func GenerateKey(curve string) ECDH {
24-
return defaultECDH.SetCurve(curve).GenerateKey()
23+
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDH {
24+
return defaultECDH.SetCurve(curve).GenerateKeyWithSeed(reader)
2525
}
2626

2727
// 生成密钥
28-
func (this ECDH) GenerateKeyWithSeed(reader io.Reader) ECDH {
29-
privateKey, publicKey, err := ecdh.GenerateKey(this.curve, reader)
30-
31-
this.privateKey = privateKey
32-
this.publicKey = publicKey
33-
34-
return this.AppendError(err)
28+
func (this ECDH) GenerateKey() ECDH {
29+
return this.GenerateKeyWithSeed(rand.Reader)
3530
}
3631

3732
// 生成密钥
3833
// 可用参数 [P521 | P384 | P256 | P224]
39-
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDH {
40-
return defaultECDH.SetCurve(curve).GenerateKeyWithSeed(reader)
34+
func GenerateKey(curve string) ECDH {
35+
return defaultECDH.SetCurve(curve).GenerateKey()
4136
}
4237

4338
// ==========

cryptobin/dsa/from.go

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010

1111
// 生成密钥
1212
// 可用参数 [L1024N160 | L2048N224 | L2048N256 | L3072N256]
13-
func (this DSA) GenerateKey(ln string) DSA {
13+
func (this DSA) GenerateKeyWithSeed(paramReader io.Reader, generateReader io.Reader, ln string) DSA {
1414
var paramSize dsa.ParameterSizes
1515

1616
// 算法类型
@@ -28,8 +28,8 @@ func (this DSA) GenerateKey(ln string) DSA {
2828
}
2929

3030
priv := &dsa.PrivateKey{}
31-
dsa.GenerateParameters(&priv.Parameters, rand.Reader, paramSize)
32-
dsa.GenerateKey(priv, rand.Reader)
31+
dsa.GenerateParameters(&priv.Parameters, paramReader, paramSize)
32+
dsa.GenerateKey(priv, generateReader)
3333

3434
this.privateKey = priv
3535
this.publicKey = &priv.PublicKey
@@ -39,43 +39,20 @@ func (this DSA) GenerateKey(ln string) DSA {
3939

4040
// 生成密钥
4141
// 可用参数 [L1024N160 | L2048N224 | L2048N256 | L3072N256]
42-
func GenerateKey(ln string) DSA {
43-
return defaultDSA.GenerateKey(ln)
42+
func GenerateKeyWithSeed(paramReader io.Reader, generateReader io.Reader, ln string) DSA {
43+
return defaultDSA.GenerateKeyWithSeed(paramReader, generateReader, ln)
4444
}
4545

4646
// 生成密钥
4747
// 可用参数 [L1024N160 | L2048N224 | L2048N256 | L3072N256]
48-
func (this DSA) GenerateKeyWithSeed(paramReader io.Reader, generateReader io.Reader, ln string) DSA {
49-
var paramSize dsa.ParameterSizes
50-
51-
// 算法类型
52-
switch ln {
53-
case "L1024N160":
54-
paramSize = dsa.L1024N160
55-
case "L2048N224":
56-
paramSize = dsa.L2048N224
57-
case "L2048N256":
58-
paramSize = dsa.L2048N256
59-
case "L3072N256":
60-
paramSize = dsa.L3072N256
61-
default:
62-
paramSize = dsa.L1024N160
63-
}
64-
65-
priv := &dsa.PrivateKey{}
66-
dsa.GenerateParameters(&priv.Parameters, paramReader, paramSize)
67-
dsa.GenerateKey(priv, generateReader)
68-
69-
this.privateKey = priv
70-
this.publicKey = &priv.PublicKey
71-
72-
return this
48+
func (this DSA) GenerateKey(ln string) DSA {
49+
return this.GenerateKeyWithSeed(rand.Reader, rand.Reader, ln)
7350
}
7451

7552
// 生成密钥
7653
// 可用参数 [L1024N160 | L2048N224 | L2048N256 | L3072N256]
77-
func GenerateKeyWithSeed(paramReader io.Reader, generateReader io.Reader, ln string) DSA {
78-
return defaultDSA.GenerateKeyWithSeed(paramReader, generateReader, ln)
54+
func GenerateKey(ln string) DSA {
55+
return defaultDSA.GenerateKey(ln)
7956
}
8057

8158
// ==========

cryptobin/ecdh/from.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
// 生成密钥
12-
func (this ECDH) GenerateKey() ECDH {
13-
privateKey, err := this.curve.GenerateKey(rand.Reader)
12+
func (this ECDH) GenerateKeyWithSeed(reader io.Reader) ECDH {
13+
privateKey, err := this.curve.GenerateKey(reader)
1414
if err != nil {
1515
return this.AppendError(err)
1616
}
@@ -22,26 +22,18 @@ func (this ECDH) GenerateKey() ECDH {
2222
}
2323

2424
// 生成密钥
25-
func GenerateKey(curve string) ECDH {
26-
return defaultECDH.SetCurve(curve).GenerateKey()
25+
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDH {
26+
return defaultECDH.SetCurve(curve).GenerateKeyWithSeed(reader)
2727
}
2828

2929
// 生成密钥
30-
func (this ECDH) GenerateKeyWithSeed(reader io.Reader) ECDH {
31-
privateKey, err := this.curve.GenerateKey(reader)
32-
if err != nil {
33-
return this.AppendError(err)
34-
}
35-
36-
this.privateKey = privateKey
37-
this.publicKey = privateKey.PublicKey()
38-
39-
return this
30+
func (this ECDH) GenerateKey() ECDH {
31+
return this.GenerateKeyWithSeed(rand.Reader)
4032
}
4133

4234
// 生成密钥
43-
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDH {
44-
return defaultECDH.SetCurve(curve).GenerateKeyWithSeed(reader)
35+
func GenerateKey(curve string) ECDH {
36+
return defaultECDH.SetCurve(curve).GenerateKey()
4537
}
4638

4739
// ==========

cryptobin/ecdsa/from.go

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
)
1313

1414
// 生成密钥
15-
func (this ECDSA) GenerateKey() ECDSA {
16-
privateKey, err := ecdsa.GenerateKey(this.curve, rand.Reader)
15+
func (this ECDSA) GenerateKeyWithSeed(reader io.Reader) ECDSA {
16+
privateKey, err := ecdsa.GenerateKey(this.curve, reader)
1717
if err != nil {
1818
return this.AppendError(err)
1919
}
@@ -28,29 +28,19 @@ func (this ECDSA) GenerateKey() ECDSA {
2828

2929
// 生成密钥
3030
// 可选 [P521 | P384 | P256 | P224]
31-
func GenerateKey(curve string) ECDSA {
32-
return defaultECDSA.SetCurve(curve).GenerateKey()
31+
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDSA {
32+
return defaultECDSA.SetCurve(curve).GenerateKeyWithSeed(reader)
3333
}
3434

3535
// 生成密钥
36-
func (this ECDSA) GenerateKeyWithSeed(reader io.Reader) ECDSA {
37-
privateKey, err := ecdsa.GenerateKey(this.curve, reader)
38-
if err != nil {
39-
return this.AppendError(err)
40-
}
41-
42-
this.privateKey = privateKey
43-
44-
// 生成公钥
45-
this.publicKey = &privateKey.PublicKey
46-
47-
return this
36+
func (this ECDSA) GenerateKey() ECDSA {
37+
return this.GenerateKeyWithSeed(rand.Reader)
4838
}
4939

5040
// 生成密钥
5141
// 可选 [P521 | P384 | P256 | P224]
52-
func GenerateKeyWithSeed(reader io.Reader, curve string) ECDSA {
53-
return defaultECDSA.SetCurve(curve).GenerateKeyWithSeed(reader)
42+
func GenerateKey(curve string) ECDSA {
43+
return defaultECDSA.SetCurve(curve).GenerateKey()
5444
}
5545

5646
// ==========

cryptobin/ed448/from.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
// 生成密钥
12-
func (this ED448) GenerateKey() ED448 {
13-
publicKey, privateKey, err := ed448.GenerateKey(rand.Reader)
12+
func (this ED448) GenerateKeyWithSeed(reader io.Reader) ED448 {
13+
publicKey, privateKey, err := ed448.GenerateKey(reader)
1414
if err != nil {
1515
return this.AppendError(err)
1616
}
@@ -22,26 +22,18 @@ func (this ED448) GenerateKey() ED448 {
2222
}
2323

2424
// 生成密钥
25-
func GenerateKey() ED448 {
26-
return defaultED448.GenerateKey()
25+
func GenerateKeyWithSeed(reader io.Reader) ED448 {
26+
return defaultED448.GenerateKeyWithSeed(reader)
2727
}
2828

2929
// 生成密钥
30-
func (this ED448) GenerateKeyWithSeed(reader io.Reader) ED448 {
31-
publicKey, privateKey, err := ed448.GenerateKey(reader)
32-
if err != nil {
33-
return this.AppendError(err)
34-
}
35-
36-
this.publicKey = publicKey
37-
this.privateKey = privateKey
38-
39-
return this
30+
func (this ED448) GenerateKey() ED448 {
31+
return this.GenerateKeyWithSeed(rand.Reader)
4032
}
4133

4234
// 生成密钥
43-
func GenerateKeyWithSeed(reader io.Reader) ED448 {
44-
return defaultED448.GenerateKeyWithSeed(reader)
35+
func GenerateKey() ED448 {
36+
return defaultED448.GenerateKey()
4537
}
4638

4739
// ==========

cryptobin/eddsa/from.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
)
1010

1111
// 生成密钥
12-
func (this EdDSA) GenerateKey() EdDSA {
13-
publicKey, privateKey, err := ed25519.GenerateKey(rand.Reader)
12+
func (this EdDSA) GenerateKeyWithSeed(reader io.Reader) EdDSA {
13+
publicKey, privateKey, err := ed25519.GenerateKey(reader)
1414
if err != nil {
1515
return this.AppendError(err)
1616
}
@@ -22,26 +22,18 @@ func (this EdDSA) GenerateKey() EdDSA {
2222
}
2323

2424
// 生成密钥
25-
func GenerateKey() EdDSA {
26-
return defaultEdDSA.GenerateKey()
25+
func GenerateKeyWithSeed(reader io.Reader) EdDSA {
26+
return defaultEdDSA.GenerateKeyWithSeed(reader)
2727
}
2828

2929
// 生成密钥
30-
func (this EdDSA) GenerateKeyWithSeed(reader io.Reader) EdDSA {
31-
publicKey, privateKey, err := ed25519.GenerateKey(reader)
32-
if err != nil {
33-
return this.AppendError(err)
34-
}
35-
36-
this.publicKey = publicKey
37-
this.privateKey = privateKey
38-
39-
return this
30+
func (this EdDSA) GenerateKey() EdDSA {
31+
return this.GenerateKeyWithSeed(rand.Reader)
4032
}
4133

4234
// 生成密钥
43-
func GenerateKeyWithSeed(reader io.Reader) EdDSA {
44-
return defaultEdDSA.GenerateKeyWithSeed(reader)
35+
func GenerateKey() EdDSA {
36+
return defaultEdDSA.GenerateKey()
4537
}
4638

4739
// ==========

0 commit comments

Comments
 (0)