Skip to content

Commit 0878c12

Browse files
committed
重构基本完成
1 parent 1c895b7 commit 0878c12

38 files changed

+555
-489
lines changed

FUTURE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
### v0.5.x
1010

11-
* [ ] 支持 ECC key 生成
12-
* [ ] 支持 ECC 非对称加密算法
11+
* [ ] 支持 ECDSA 算法
12+
* [ ] 支持 EdDSA 算法
1313
* [ ] 支持更多的散列算法
14-
* [ ] 重构代码,优化使用方式
14+
* [x] 重构代码,优化使用方式
1515
* [ ] 继续完善单元测试,提升覆盖率到 90% 以上
1616

1717
### v0.4.x

README.en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[![Coverage](_icons/coverage.svg)](_icons/coverage.svg)
66
![Test](https://github.com/FishGoddess/cryptox/actions/workflows/test.yml/badge.svg)
77

8-
**Cryptox** is a kit for safety which includes some common encrypted/decrypted algorithms.
8+
**Cryptox** is a kit for safety which includes some common encrypt/decrypt algorithms.
99

1010
[阅读中文版的文档](./README.md)
1111

_examples/aes.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"fmt"
1010

1111
"github.com/FishGoddess/cryptox/aes"
12-
"github.com/FishGoddess/cryptox/bytes/encoding"
1312
)
1413

1514
func main() {
@@ -18,23 +17,23 @@ func main() {
1817
key := []byte("12345678876543211234567887654321")
1918
nonce := []byte("123456abcdef")
2019

21-
msg := []byte("你好,世界")
22-
fmt.Printf("msg: %s\n", msg)
20+
data := []byte("你好,世界")
21+
fmt.Printf("data: %s\n", data)
2322

2423
// Use gcm mode to encrypt data with no padding and encoding base64.
25-
encrypt, err := aes.EncryptGCM(msg, key, nonce, nil, encoding.Base64)
24+
encrypt, err := aes.EncryptGCM(data, key, nonce, aes.WithBase64())
2625
if err != nil {
2726
panic(err)
2827
}
2928

3029
fmt.Printf("encrypt: %s\n", encrypt)
3130

3231
// Decrypt data in the same way.
33-
decrypt, err := aes.DecryptGCM(encrypt, key, nonce, nil, encoding.Base64)
32+
decrypt, err := aes.DecryptGCM(encrypt, key, nonce, aes.WithBase64())
3433
if err != nil {
3534
panic(err)
3635
}
3736

3837
fmt.Printf("decrypt: %s\n", decrypt)
39-
fmt.Printf("decrypt is right: %+v\n", bytes.Equal(decrypt, msg))
38+
fmt.Printf("decrypt is right: %+v\n", bytes.Equal(decrypt, data))
4039
}

_examples/aes_test.go

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"testing"
99

1010
"github.com/FishGoddess/cryptox/aes"
11-
"github.com/FishGoddess/cryptox/bytes/encoding"
12-
"github.com/FishGoddess/cryptox/bytes/padding"
1311
)
1412

1513
var (
@@ -25,7 +23,7 @@ func BenchmarkAES_EncryptECB(b *testing.B) {
2523
b.ResetTimer()
2624

2725
for i := 0; i < b.N; i++ {
28-
_, err := aes.EncryptECB(aesBenchMsg, aesBenchKey, padding.PKCS7, encoding.None)
26+
_, err := aes.EncryptECB(aesBenchMsg, aesBenchKey, aes.WithPKCS7())
2927
if err != nil {
3028
b.Fatal(err)
3129
}
@@ -38,7 +36,7 @@ func BenchmarkAES_EncryptCBC(b *testing.B) {
3836
b.ResetTimer()
3937

4038
for i := 0; i < b.N; i++ {
41-
_, err := aes.EncryptCBC(aesBenchMsg, aesBenchKey, aesBenchIV, padding.PKCS7, encoding.None)
39+
_, err := aes.EncryptCBC(aesBenchMsg, aesBenchKey, aesBenchIV, aes.WithPKCS7())
4240
if err != nil {
4341
b.Fatal(err)
4442
}
@@ -51,7 +49,7 @@ func BenchmarkAES_EncryptCFB(b *testing.B) {
5149
b.ResetTimer()
5250

5351
for i := 0; i < b.N; i++ {
54-
_, err := aes.EncryptCFB(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
52+
_, err := aes.EncryptCFB(aesBenchMsg, aesBenchKey, aesBenchIV)
5553
if err != nil {
5654
b.Fatal(err)
5755
}
@@ -64,7 +62,7 @@ func BenchmarkAES_EncryptOFB(b *testing.B) {
6462
b.ResetTimer()
6563

6664
for i := 0; i < b.N; i++ {
67-
_, err := aes.EncryptOFB(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
65+
_, err := aes.EncryptOFB(aesBenchMsg, aesBenchKey, aesBenchIV)
6866
if err != nil {
6967
b.Fatal(err)
7068
}
@@ -77,7 +75,7 @@ func BenchmarkAES_EncryptCTR(b *testing.B) {
7775
b.ResetTimer()
7876

7977
for i := 0; i < b.N; i++ {
80-
_, err := aes.EncryptCTR(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
78+
_, err := aes.EncryptCTR(aesBenchMsg, aesBenchKey, aesBenchIV)
8179
if err != nil {
8280
b.Fatal(err)
8381
}
@@ -89,9 +87,8 @@ func BenchmarkAES_EncryptGCM(b *testing.B) {
8987
b.ReportAllocs()
9088
b.ResetTimer()
9189

92-
add := []byte("8765432112345678")
9390
for i := 0; i < b.N; i++ {
94-
_, err := aes.EncryptGCM(aesBenchMsg, aesBenchKey, aesBenchNonce, add, encoding.None)
91+
_, err := aes.EncryptGCM(aesBenchMsg, aesBenchKey, aesBenchNonce)
9592
if err != nil {
9693
b.Fatal(err)
9794
}
@@ -100,7 +97,7 @@ func BenchmarkAES_EncryptGCM(b *testing.B) {
10097

10198
// go test -v -bench=^BenchmarkAES_DecryptECB$ -benchtime=1s des_test.go
10299
func BenchmarkAES_DecryptECB(b *testing.B) {
103-
encrypt, err := aes.EncryptECB(aesBenchMsg, aesBenchKey, padding.PKCS7, encoding.None)
100+
encrypt, err := aes.EncryptECB(aesBenchMsg, aesBenchKey, aes.WithPKCS7())
104101
if err != nil {
105102
b.Fatal(err)
106103
}
@@ -109,7 +106,7 @@ func BenchmarkAES_DecryptECB(b *testing.B) {
109106
b.ResetTimer()
110107

111108
for i := 0; i < b.N; i++ {
112-
_, err := aes.DecryptECB(encrypt, aesBenchKey, padding.PKCS7, encoding.None)
109+
_, err := aes.DecryptECB(encrypt, aesBenchKey, aes.WithPKCS7())
113110
if err != nil {
114111
b.Fatal(err)
115112
}
@@ -118,7 +115,7 @@ func BenchmarkAES_DecryptECB(b *testing.B) {
118115

119116
// go test -v -bench=^BenchmarkAES_DecryptCBC$ -benchtime=1s des_test.go
120117
func BenchmarkAES_DecryptCBC(b *testing.B) {
121-
encrypt, err := aes.EncryptCBC(aesBenchMsg, aesBenchKey, aesBenchIV, padding.PKCS7, encoding.None)
118+
encrypt, err := aes.EncryptCBC(aesBenchMsg, aesBenchKey, aesBenchIV, aes.WithPKCS7())
122119
if err != nil {
123120
b.Fatal(err)
124121
}
@@ -127,7 +124,7 @@ func BenchmarkAES_DecryptCBC(b *testing.B) {
127124
b.ResetTimer()
128125

129126
for i := 0; i < b.N; i++ {
130-
_, err := aes.DecryptCBC(encrypt, aesBenchKey, aesBenchIV, padding.PKCS7, encoding.None)
127+
_, err := aes.DecryptCBC(encrypt, aesBenchKey, aesBenchIV, aes.WithPKCS7())
131128
if err != nil {
132129
b.Fatal(err)
133130
}
@@ -136,7 +133,7 @@ func BenchmarkAES_DecryptCBC(b *testing.B) {
136133

137134
// go test -v -bench=^BenchmarkAES_DecryptCFB$ -benchtime=1s des_test.go
138135
func BenchmarkAES_DecryptCFB(b *testing.B) {
139-
encrypt, err := aes.EncryptCFB(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
136+
encrypt, err := aes.EncryptCFB(aesBenchMsg, aesBenchKey, aesBenchIV)
140137
if err != nil {
141138
b.Fatal(err)
142139
}
@@ -145,7 +142,7 @@ func BenchmarkAES_DecryptCFB(b *testing.B) {
145142
b.ResetTimer()
146143

147144
for i := 0; i < b.N; i++ {
148-
_, err := aes.DecryptCFB(encrypt, aesBenchKey, aesBenchIV, padding.None, encoding.None)
145+
_, err := aes.DecryptCFB(encrypt, aesBenchKey, aesBenchIV)
149146
if err != nil {
150147
b.Fatal(err)
151148
}
@@ -154,7 +151,7 @@ func BenchmarkAES_DecryptCFB(b *testing.B) {
154151

155152
// go test -v -bench=^BenchmarkAES_DecryptOFB$ -benchtime=1s des_test.go
156153
func BenchmarkAES_DecryptOFB(b *testing.B) {
157-
encrypt, err := aes.EncryptOFB(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
154+
encrypt, err := aes.EncryptOFB(aesBenchMsg, aesBenchKey, aesBenchIV)
158155
if err != nil {
159156
b.Fatal(err)
160157
}
@@ -163,7 +160,7 @@ func BenchmarkAES_DecryptOFB(b *testing.B) {
163160
b.ResetTimer()
164161

165162
for i := 0; i < b.N; i++ {
166-
_, err := aes.DecryptOFB(encrypt, aesBenchKey, aesBenchIV, padding.None, encoding.None)
163+
_, err := aes.DecryptOFB(encrypt, aesBenchKey, aesBenchIV)
167164
if err != nil {
168165
b.Fatal(err)
169166
}
@@ -172,7 +169,7 @@ func BenchmarkAES_DecryptOFB(b *testing.B) {
172169

173170
// go test -v -bench=^BenchmarkAES_DecryptCTR$ -benchtime=1s des_test.go
174171
func BenchmarkAES_DecryptCTR(b *testing.B) {
175-
encrypt, err := aes.EncryptCTR(aesBenchMsg, aesBenchKey, aesBenchIV, padding.None, encoding.None)
172+
encrypt, err := aes.EncryptCTR(aesBenchMsg, aesBenchKey, aesBenchIV)
176173
if err != nil {
177174
b.Fatal(err)
178175
}
@@ -181,7 +178,7 @@ func BenchmarkAES_DecryptCTR(b *testing.B) {
181178
b.ResetTimer()
182179

183180
for i := 0; i < b.N; i++ {
184-
_, err := aes.DecryptCTR(encrypt, aesBenchKey, aesBenchIV, padding.None, encoding.None)
181+
_, err := aes.DecryptCTR(encrypt, aesBenchKey, aesBenchIV)
185182
if err != nil {
186183
b.Fatal(err)
187184
}
@@ -190,7 +187,7 @@ func BenchmarkAES_DecryptCTR(b *testing.B) {
190187

191188
// go test -v -bench=^BenchmarkAES_DecryptGCM$ -benchtime=1s aes_test.go
192189
func BenchmarkAES_DecryptGCM(b *testing.B) {
193-
encrypt, err := aes.EncryptGCM(aesBenchMsg, aesBenchKey, aesBenchNonce, nil, encoding.None)
190+
encrypt, err := aes.EncryptGCM(aesBenchMsg, aesBenchKey, aesBenchNonce)
194191
if err != nil {
195192
b.Fatal(err)
196193
}
@@ -199,7 +196,7 @@ func BenchmarkAES_DecryptGCM(b *testing.B) {
199196
b.ResetTimer()
200197

201198
for i := 0; i < b.N; i++ {
202-
_, err := aes.DecryptGCM(encrypt, aesBenchKey, aesBenchNonce, nil, encoding.None)
199+
_, err := aes.DecryptGCM(encrypt, aesBenchKey, aesBenchNonce)
203200
if err != nil {
204201
b.Fatal(err)
205202
}

_examples/des.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import (
88
"bytes"
99
"fmt"
1010

11-
"github.com/FishGoddess/cryptox/bytes/encoding"
12-
"github.com/FishGoddess/cryptox/bytes/padding"
1311
"github.com/FishGoddess/cryptox/des"
1412
)
1513

@@ -19,23 +17,23 @@ func main() {
1917
key := []byte("12345678")
2018
iv := []byte("87654321")
2119

22-
msg := []byte("你好,世界")
23-
fmt.Printf("msg: %s\n", msg)
20+
data := []byte("你好,世界")
21+
fmt.Printf("data: %s\n", data)
2422

2523
// Use ctr mode to encrypt data with no padding and encoding base64.
26-
encrypt, err := des.EncryptCTR(msg, key, iv, padding.None, encoding.Base64)
24+
encrypt, err := des.EncryptCTR(data, key, iv, des.WithBase64())
2725
if err != nil {
2826
panic(err)
2927
}
3028

3129
fmt.Printf("encrypt: %s\n", encrypt)
3230

3331
// Decrypt data in the same way.
34-
decrypt, err := des.DecryptCTR(encrypt, key, iv, padding.None, encoding.Base64)
32+
decrypt, err := des.DecryptCTR(encrypt, key, iv, des.WithBase64())
3533
if err != nil {
3634
panic(err)
3735
}
3836

3937
fmt.Printf("decrypt: %s\n", decrypt)
40-
fmt.Printf("decrypt is right: %+v\n", bytes.Equal(decrypt, msg))
38+
fmt.Printf("decrypt is right: %+v\n", bytes.Equal(decrypt, data))
4139
}

0 commit comments

Comments
 (0)