Skip to content

Commit a9a5fd5

Browse files
committed
使用案例
1 parent f8e9906 commit a9a5fd5

File tree

4 files changed

+65
-55
lines changed

4 files changed

+65
-55
lines changed

_examples/ed25519_key.go

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Copyright 2025 FishGoddess. All rights reserved.
2+
// Use of this source code is governed by a MIT style
3+
// license that can be found in the LICENSE file.
4+
5+
package main
6+
7+
import (
8+
"github.com/FishGoddess/cryptox/ed25519"
9+
)
10+
11+
func main() {
12+
// Generate a key without seed.
13+
privateKey, publicKey, err := ed25519.GenerateKeys()
14+
if err != nil {
15+
panic(err)
16+
}
17+
18+
// Generate a key with seed.
19+
seed := byte("12345678876543211234567887654321")
20+
21+
privateKey, publicKey, err = ed25519.GenerateKeys(ed25519.WithKeySeed(seed))
22+
if err != nil {
23+
panic(err)
24+
}
25+
26+
// Store the private key and the public key to file.
27+
err = ed25519.StorePrivateKey("ed25519.key", privateKey)
28+
if err != nil {
29+
panic(err)
30+
}
31+
32+
err = ed25519.StorePublicKey("ed25519.pub", publicKey)
33+
if err != nil {
34+
panic(err)
35+
}
36+
37+
// Load the private key and the public key from file.
38+
privateKey, err = ed25519.LoadPrivateKey("ed25519.key")
39+
if err != nil {
40+
panic(err)
41+
}
42+
43+
publicKey, err = ed25519.LoadPublicKey("ed25519.pub")
44+
if err != nil {
45+
panic(err)
46+
}
47+
}

_examples/rsa.key

Lines changed: 0 additions & 28 deletions
This file was deleted.

_examples/rsa.pub

Lines changed: 0 additions & 9 deletions
This file was deleted.

rsa/rsa_test.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -300,21 +300,21 @@ func TestSignVerifyPKCS1v15(t *testing.T) {
300300
testCases := []signTestCase{
301301
{
302302
Data: []byte(""),
303-
SignData: []byte(""),
304-
SignDataHex: []byte(""),
305-
SignDataBase64: []byte(""),
303+
SignData: []byte{129, 179, 114, 121, 197, 185, 134, 59, 90, 166, 224, 37, 174, 125, 153, 232, 105, 240, 59, 0, 240, 138, 96, 226, 197, 33, 49, 46, 93, 207, 75, 41, 6, 114, 86, 167, 171, 119, 149, 211, 8, 92, 254, 93, 87, 253, 118, 93, 32, 37, 217, 71, 18, 253, 7, 244, 156, 214, 224, 132, 80, 137, 157, 223, 51, 22, 194, 24, 241, 249, 118, 61, 62, 132, 174, 169, 225, 186, 219, 93, 208, 253, 63, 53, 88, 180, 138, 207, 34, 239, 23, 140, 107, 174, 18, 123, 62, 144, 78, 95, 37, 170, 143, 231, 27, 164, 95, 248, 136, 104, 124, 9, 10, 126, 252, 83, 132, 129, 29, 54, 216, 55, 67, 87, 193, 25, 50, 112, 1, 199, 234, 36, 52, 109, 80, 250, 140, 153, 87, 174, 45, 170, 15, 148, 176, 239, 132, 77, 160, 44, 18, 192, 19, 248, 131, 76, 213, 39, 205, 33, 185, 73, 37, 111, 48, 250, 129, 17, 48, 222, 63, 225, 233, 25, 7, 78, 215, 22, 168, 72, 115, 209, 68, 18, 44, 192, 77, 64, 249, 206, 25, 199, 90, 157, 159, 49, 65, 207, 135, 203, 228, 4, 20, 171, 232, 10, 39, 221, 112, 170, 116, 67, 2, 35, 188, 175, 185, 67, 137, 41, 152, 172, 247, 203, 216, 60, 108, 74, 66, 150, 29, 235, 220, 203, 1, 86, 60, 218, 16, 249, 117, 249, 57, 53, 53, 89, 34, 3, 183, 220, 129, 61, 220, 100, 30, 5},
304+
SignDataHex: []byte("81b37279c5b9863b5aa6e025ae7d99e869f03b00f08a60e2c521312e5dcf4b29067256a7ab7795d3085cfe5d57fd765d2025d94712fd07f49cd6e08450899ddf3316c218f1f9763d3e84aea9e1badb5dd0fd3f3558b48acf22ef178c6bae127b3e904e5f25aa8fe71ba45ff888687c090a7efc5384811d36d8374357c119327001c7ea24346d50fa8c9957ae2daa0f94b0ef844da02c12c013f8834cd527cd21b949256f30fa811130de3fe1e919074ed716a84873d144122cc04d40f9ce19c75a9d9f3141cf87cbe40414abe80a27dd70aa74430223bcafb943892998acf7cbd83c6c4a42961debdccb01563cda10f975f9393535592203b7dc813ddc641e05"),
305+
SignDataBase64: []byte("gbNyecW5hjtapuAlrn2Z6GnwOwDwimDixSExLl3PSykGclanq3eV0whc/l1X/XZdICXZRxL9B/Sc1uCEUImd3zMWwhjx+XY9PoSuqeG6213Q/T81WLSKzyLvF4xrrhJ7PpBOXyWqj+cbpF/4iGh8CQp+/FOEgR022DdDV8EZMnABx+okNG1Q+oyZV64tqg+UsO+ETaAsEsAT+INM1SfNIblJJW8w+oERMN4/4ekZB07XFqhIc9FEEizATUD5zhnHWp2fMUHPh8vkBBSr6Aon3XCqdEMCI7yvuUOJKZis98vYPGxKQpYd69zLAVY82hD5dfk5NTVZIgO33IE93GQeBQ=="),
306306
},
307307
{
308308
Data: []byte("123"),
309-
SignData: []byte(""),
310-
SignDataHex: []byte(""),
311-
SignDataBase64: []byte(""),
309+
SignData: []byte{83, 42, 239, 63, 196, 167, 59, 217, 168, 150, 243, 79, 72, 131, 50, 55, 253, 221, 0, 157, 120, 34, 147, 108, 134, 247, 37, 105, 179, 237, 198, 114, 150, 78, 42, 218, 7, 222, 113, 145, 30, 52, 203, 170, 14, 250, 103, 189, 70, 232, 0, 59, 255, 40, 44, 254, 170, 219, 117, 119, 5, 100, 150, 124, 221, 131, 203, 146, 173, 192, 158, 238, 64, 240, 6, 107, 197, 219, 173, 201, 131, 121, 58, 69, 194, 43, 104, 13, 175, 115, 144, 15, 232, 23, 76, 121, 156, 95, 128, 74, 127, 166, 222, 202, 197, 102, 146, 69, 149, 56, 62, 64, 238, 50, 225, 96, 188, 10, 182, 245, 35, 8, 172, 114, 66, 84, 15, 171, 226, 64, 184, 90, 180, 101, 231, 218, 245, 127, 217, 127, 11, 97, 225, 120, 199, 209, 250, 164, 149, 22, 235, 180, 185, 206, 72, 151, 204, 81, 172, 99, 41, 209, 192, 24, 21, 20, 168, 34, 198, 160, 160, 179, 223, 105, 179, 29, 240, 233, 130, 138, 100, 109, 4, 240, 146, 58, 65, 215, 153, 231, 138, 185, 20, 49, 68, 5, 215, 166, 35, 63, 183, 236, 1, 173, 106, 123, 127, 4, 243, 15, 136, 35, 207, 196, 30, 142, 72, 80, 139, 176, 87, 122, 139, 244, 44, 181, 153, 174, 173, 155, 255, 216, 138, 251, 21, 78, 126, 196, 218, 87, 150, 115, 22, 131, 138, 103, 33, 141, 200, 53, 58, 32, 177, 20, 130, 12},
310+
SignDataHex: []byte("532aef3fc4a73bd9a896f34f48833237fddd009d7822936c86f72569b3edc672964e2ada07de71911e34cbaa0efa67bd46e8003bff282cfeaadb75770564967cdd83cb92adc09eee40f0066bc5dbadc983793a45c22b680daf73900fe8174c799c5f804a7fa6decac566924595383e40ee32e160bc0ab6f52308ac7242540fabe240b85ab465e7daf57fd97f0b61e178c7d1faa49516ebb4b9ce4897cc51ac6329d1c0181514a822c6a0a0b3df69b31df0e9828a646d04f0923a41d799e78ab914314405d7a6233fb7ec01ad6a7b7f04f30f8823cfc41e8e48508bb0577a8bf42cb599aead9bffd88afb154e7ec4da57967316838a67218dc8353a20b114820c"),
311+
SignDataBase64: []byte("UyrvP8SnO9molvNPSIMyN/3dAJ14IpNshvclabPtxnKWTiraB95xkR40y6oO+me9RugAO/8oLP6q23V3BWSWfN2Dy5KtwJ7uQPAGa8XbrcmDeTpFwitoDa9zkA/oF0x5nF+ASn+m3srFZpJFlTg+QO4y4WC8Crb1IwisckJUD6viQLhatGXn2vV/2X8LYeF4x9H6pJUW67S5zkiXzFGsYynRwBgVFKgixqCgs99psx3w6YKKZG0E8JI6QdeZ54q5FDFEBdemIz+37AGtant/BPMPiCPPxB6OSFCLsFd6i/QstZmurZv/2Ir7FU5+xNpXlnMWg4pnIY3INTogsRSCDA=="),
312312
},
313313
{
314314
Data: []byte("你好,世界"),
315-
SignData: []byte(""),
316-
SignDataHex: []byte(""),
317-
SignDataBase64: []byte(""),
315+
SignData: []byte{91, 171, 10, 72, 166, 48, 201, 74, 31, 142, 144, 115, 173, 245, 134, 109, 54, 46, 104, 83, 150, 137, 229, 141, 115, 32, 203, 220, 105, 124, 63, 142, 245, 251, 228, 202, 255, 170, 46, 62, 219, 191, 209, 157, 17, 65, 16, 15, 197, 14, 169, 152, 157, 20, 41, 202, 215, 64, 114, 180, 235, 21, 20, 149, 119, 68, 52, 2, 164, 117, 175, 110, 154, 29, 253, 182, 114, 186, 96, 27, 62, 128, 181, 104, 23, 182, 199, 218, 118, 52, 1, 229, 62, 58, 46, 84, 75, 88, 190, 183, 110, 246, 163, 255, 100, 140, 164, 109, 241, 236, 139, 230, 233, 123, 156, 172, 33, 191, 122, 29, 101, 124, 43, 47, 235, 96, 21, 165, 71, 110, 170, 117, 179, 253, 60, 211, 249, 6, 198, 68, 181, 42, 254, 178, 222, 182, 154, 249, 152, 108, 91, 127, 140, 159, 219, 233, 157, 167, 82, 196, 115, 254, 190, 89, 91, 150, 123, 16, 70, 198, 214, 13, 88, 73, 144, 67, 208, 143, 107, 60, 51, 149, 17, 1, 236, 196, 156, 142, 58, 109, 231, 207, 150, 26, 29, 54, 177, 60, 94, 247, 164, 148, 218, 51, 139, 77, 127, 20, 91, 174, 135, 154, 94, 169, 246, 191, 205, 203, 151, 178, 120, 205, 156, 193, 1, 215, 118, 45, 59, 76, 115, 119, 54, 18, 61, 82, 204, 29, 249, 107, 24, 82, 87, 66, 197, 135, 120, 103, 125, 192, 156, 50, 196, 25, 94, 0},
316+
SignDataHex: []byte("5bab0a48a630c94a1f8e9073adf5866d362e68539689e58d7320cbdc697c3f8ef5fbe4caffaa2e3edbbfd19d1141100fc50ea9989d1429cad74072b4eb15149577443402a475af6e9a1dfdb672ba601b3e80b56817b6c7da763401e53e3a2e544b58beb76ef6a3ff648ca46df1ec8be6e97b9cac21bf7a1d657c2b2feb6015a5476eaa75b3fd3cd3f906c644b52afeb2deb69af9986c5b7f8c9fdbe99da752c473febe595b967b1046c6d60d58499043d08f6b3c33951101ecc49c8e3a6de7cf961a1d36b13c5ef7a494da338b4d7f145bae879a5ea9f6bfcdcb97b278cd9cc101d7762d3b4c737736123d52cc1df96b18525742c58778677dc09c32c4195e00"),
317+
SignDataBase64: []byte("W6sKSKYwyUofjpBzrfWGbTYuaFOWieWNcyDL3Gl8P471++TK/6ouPtu/0Z0RQRAPxQ6pmJ0UKcrXQHK06xUUlXdENAKkda9umh39tnK6YBs+gLVoF7bH2nY0AeU+Oi5US1i+t272o/9kjKRt8eyL5ul7nKwhv3odZXwrL+tgFaVHbqp1s/080/kGxkS1Kv6y3raa+ZhsW3+Mn9vpnadSxHP+vllblnsQRsbWDVhJkEPQj2s8M5URAezEnI46befPlhodNrE8XveklNozi01/FFuuh5peqfa/zcuXsnjNnMEB13YtO0xzdzYSPVLMHflrGFJXQsWHeGd9wJwyxBleAA=="),
318318
},
319319
}
320320

@@ -365,21 +365,21 @@ func TestSignVerifyPSS(t *testing.T) {
365365
testCases := []signTestCase{
366366
{
367367
Data: []byte(""),
368-
SignData: []byte(""),
369-
SignDataHex: []byte(""),
370-
SignDataBase64: []byte(""),
368+
SignData: []byte{146, 90, 221, 134, 162, 184, 191, 234, 250, 186, 7, 83, 24, 98, 145, 133, 208, 152, 240, 50, 187, 39, 138, 173, 150, 108, 180, 151, 155, 125, 184, 118, 241, 235, 225, 253, 3, 226, 59, 76, 56, 116, 89, 123, 77, 47, 107, 112, 203, 158, 139, 74, 255, 223, 53, 56, 96, 38, 11, 210, 132, 198, 84, 24, 121, 154, 206, 135, 24, 146, 186, 28, 68, 209, 245, 212, 81, 242, 80, 127, 171, 227, 130, 78, 146, 94, 10, 139, 121, 238, 212, 253, 36, 42, 87, 197, 177, 175, 223, 7, 220, 253, 90, 173, 105, 90, 0, 194, 136, 30, 83, 85, 108, 59, 229, 177, 134, 62, 127, 78, 73, 9, 43, 191, 119, 218, 77, 193, 54, 241, 80, 69, 145, 93, 2, 132, 59, 66, 241, 45, 47, 126, 128, 199, 57, 143, 97, 191, 161, 27, 88, 212, 95, 32, 176, 194, 72, 36, 20, 46, 120, 200, 237, 220, 125, 120, 250, 210, 139, 199, 170, 37, 107, 196, 238, 158, 183, 124, 5, 91, 189, 124, 222, 44, 240, 87, 79, 116, 77, 100, 20, 128, 75, 107, 155, 93, 249, 207, 239, 142, 14, 219, 185, 24, 20, 62, 76, 12, 187, 204, 195, 151, 152, 35, 32, 165, 107, 227, 55, 189, 20, 118, 245, 32, 50, 200, 126, 97, 218, 242, 95, 84, 150, 210, 53, 31, 3, 175, 93, 210, 54, 234, 12, 195, 4, 166, 66, 197, 223, 222, 211, 137, 41, 87, 157, 105},
369+
SignDataHex: []byte("925add86a2b8bfeafaba075318629185d098f032bb278aad966cb4979b7db876f1ebe1fd03e23b4c3874597b4d2f6b70cb9e8b4affdf353860260bd284c65418799ace871892ba1c44d1f5d451f2507fabe3824e925e0a8b79eed4fd242a57c5b1afdf07dcfd5aad695a00c2881e53556c3be5b1863e7f4e49092bbf77da4dc136f15045915d02843b42f12d2f7e80c7398f61bfa11b58d45f20b0c24824142e78c8eddc7d78fad28bc7aa256bc4ee9eb77c055bbd7cde2cf0574f744d6414804b6b9b5df9cfef8e0edbb918143e4c0cbbccc397982320a56be337bd1476f52032c87e61daf25f5496d2351f03af5dd236ea0cc304a642c5dfded38929579d69"),
370+
SignDataBase64: []byte("klrdhqK4v+r6ugdTGGKRhdCY8DK7J4qtlmy0l5t9uHbx6+H9A+I7TDh0WXtNL2twy56LSv/fNThgJgvShMZUGHmazocYkrocRNH11FHyUH+r44JOkl4Ki3nu1P0kKlfFsa/fB9z9Wq1pWgDCiB5TVWw75bGGPn9OSQkrv3faTcE28VBFkV0ChDtC8S0vfoDHOY9hv6EbWNRfILDCSCQULnjI7dx9ePrSi8eqJWvE7p63fAVbvXzeLPBXT3RNZBSAS2ubXfnP744O27kYFD5MDLvMw5eYIyCla+M3vRR29SAyyH5h2vJfVJbSNR8Dr13SNuoMwwSmQsXf3tOJKVedaQ=="),
371371
},
372372
{
373373
Data: []byte("123"),
374-
SignData: []byte(""),
375-
SignDataHex: []byte(""),
376-
SignDataBase64: []byte(""),
374+
SignData: []byte{128, 97, 180, 85, 142, 30, 76, 107, 109, 154, 235, 140, 235, 52, 208, 73, 93, 47, 167, 51, 191, 210, 151, 101, 137, 251, 72, 230, 106, 100, 152, 20, 36, 149, 220, 200, 0, 27, 22, 32, 74, 128, 159, 208, 203, 77, 2, 155, 55, 30, 222, 157, 222, 77, 30, 40, 184, 112, 145, 195, 202, 49, 165, 31, 237, 201, 178, 224, 183, 207, 88, 7, 1, 57, 3, 70, 98, 251, 206, 34, 75, 225, 223, 253, 225, 76, 211, 49, 97, 183, 44, 215, 174, 135, 1, 199, 240, 189, 103, 6, 31, 137, 25, 161, 167, 173, 34, 145, 239, 210, 59, 132, 224, 62, 243, 254, 156, 186, 238, 229, 27, 123, 173, 11, 192, 112, 131, 69, 93, 215, 226, 92, 58, 146, 22, 135, 214, 150, 248, 242, 46, 152, 185, 238, 199, 248, 134, 55, 216, 192, 166, 222, 113, 146, 146, 130, 35, 81, 177, 206, 30, 231, 72, 167, 207, 193, 46, 209, 6, 82, 55, 39, 213, 71, 1, 200, 188, 154, 204, 216, 242, 228, 162, 58, 72, 62, 253, 240, 87, 198, 19, 126, 62, 87, 126, 32, 157, 206, 162, 214, 215, 252, 174, 72, 252, 92, 163, 174, 58, 170, 165, 127, 41, 218, 71, 137, 137, 212, 2, 95, 48, 18, 240, 46, 21, 13, 19, 116, 43, 118, 143, 94, 25, 200, 194, 67, 66, 137, 178, 79, 3, 177, 18, 255, 199, 133, 37, 132, 14, 251, 239, 243, 132, 144, 6, 38},
375+
SignDataHex: []byte("8061b4558e1e4c6b6d9aeb8ceb34d0495d2fa733bfd2976589fb48e66a6498142495dcc8001b16204a809fd0cb4d029b371ede9dde4d1e28b87091c3ca31a51fedc9b2e0b7cf58070139034662fbce224be1dffde14cd33161b72cd7ae8701c7f0bd67061f8919a1a7ad2291efd23b84e03ef3fe9cbaeee51b7bad0bc07083455dd7e25c3a921687d696f8f22e98b9eec7f88637d8c0a6de719292822351b1ce1ee748a7cfc12ed106523727d54701c8bc9accd8f2e4a23a483efdf057c6137e3e577e209dcea2d6d7fcae48fc5ca3ae3aaaa57f29da478989d4025f3012f02e150d13742b768f5e19c8c2434289b24f03b112ffc78525840efbeff384900626"),
376+
SignDataBase64: []byte("gGG0VY4eTGttmuuM6zTQSV0vpzO/0pdliftI5mpkmBQkldzIABsWIEqAn9DLTQKbNx7end5NHii4cJHDyjGlH+3JsuC3z1gHATkDRmL7ziJL4d/94UzTMWG3LNeuhwHH8L1nBh+JGaGnrSKR79I7hOA+8/6cuu7lG3utC8Bwg0Vd1+JcOpIWh9aW+PIumLnux/iGN9jApt5xkpKCI1Gxzh7nSKfPwS7RBlI3J9VHAci8mszY8uSiOkg+/fBXxhN+Pld+IJ3OotbX/K5I/FyjrjqqpX8p2keJidQCXzAS8C4VDRN0K3aPXhnIwkNCibJPA7ES/8eFJYQO++/zhJAGJg=="),
377377
},
378378
{
379379
Data: []byte("你好,世界"),
380-
SignData: []byte(""),
381-
SignDataHex: []byte(""),
382-
SignDataBase64: []byte(""),
380+
SignData: []byte{80, 157, 16, 227, 104, 80, 96, 88, 173, 8, 231, 193, 3, 242, 185, 89, 94, 9, 134, 48, 224, 139, 241, 113, 103, 121, 55, 50, 75, 83, 151, 147, 120, 29, 152, 122, 234, 122, 171, 106, 43, 157, 139, 168, 4, 200, 7, 99, 52, 82, 150, 244, 76, 38, 138, 36, 59, 252, 31, 227, 211, 247, 86, 171, 36, 132, 14, 156, 67, 1, 25, 226, 147, 123, 154, 55, 54, 222, 151, 129, 163, 9, 163, 23, 136, 19, 185, 117, 209, 7, 236, 100, 241, 167, 146, 203, 140, 134, 137, 35, 228, 163, 255, 98, 174, 127, 113, 40, 45, 173, 101, 168, 28, 37, 125, 101, 35, 196, 246, 123, 126, 175, 151, 122, 152, 13, 64, 232, 234, 2, 21, 234, 183, 19, 60, 223, 102, 50, 85, 200, 76, 190, 237, 232, 241, 106, 16, 103, 203, 11, 14, 67, 74, 230, 108, 30, 108, 120, 75, 134, 196, 178, 115, 105, 21, 116, 137, 119, 224, 212, 209, 82, 229, 134, 143, 0, 82, 5, 54, 226, 103, 79, 0, 244, 100, 157, 63, 168, 104, 166, 150, 98, 213, 131, 39, 48, 186, 166, 31, 198, 123, 92, 104, 179, 83, 162, 245, 178, 96, 210, 94, 209, 66, 70, 240, 86, 90, 237, 57, 149, 210, 99, 252, 213, 109, 109, 32, 222, 139, 226, 221, 140, 131, 63, 246, 93, 168, 167, 32, 44, 248, 56, 171, 255, 156, 80, 35, 181, 171, 149, 72, 14, 79, 101, 193, 247},
381+
SignDataHex: []byte("509d10e368506058ad08e7c103f2b9595e098630e08bf171677937324b539793781d987aea7aab6a2b9d8ba804c80763345296f44c268a243bfc1fe3d3f756ab24840e9c430119e2937b9a3736de9781a309a3178813b975d107ec64f1a792cb8c868923e4a3ff62ae7f71282dad65a81c257d6523c4f67b7eaf977a980d40e8ea0215eab7133cdf663255c84cbeede8f16a1067cb0b0e434ae66c1e6c784b86c4b2736915748977e0d4d152e5868f00520536e2674f00f4649d3fa868a69662d5832730baa61fc67b5c68b353a2f5b260d25ed14246f0565aed3995d263fcd56d6d20de8be2dd8c833ff65da8a7202cf838abff9c5023b5ab95480e4f65c1f7"),
382+
SignDataBase64: []byte("UJ0Q42hQYFitCOfBA/K5WV4JhjDgi/FxZ3k3MktTl5N4HZh66nqraiudi6gEyAdjNFKW9EwmiiQ7/B/j0/dWqySEDpxDARnik3uaNzbel4GjCaMXiBO5ddEH7GTxp5LLjIaJI+Sj/2Kuf3EoLa1lqBwlfWUjxPZ7fq+XepgNQOjqAhXqtxM832YyVchMvu3o8WoQZ8sLDkNK5mwebHhLhsSyc2kVdIl34NTRUuWGjwBSBTbiZ08A9GSdP6hoppZi1YMnMLqmH8Z7XGizU6L1smDSXtFCRvBWWu05ldJj/NVtbSDei+LdjIM/9l2opyAs+Dir/5xQI7WrlUgOT2XB9w=="),
383383
},
384384
}
385385

0 commit comments

Comments
 (0)