Skip to content

Commit ba7aa07

Browse files
committed
minor: add an input parameter on GenerateBase64EdDSA: padding
1 parent 8e62bbe commit ba7aa07

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

eddsa.go

+16-3
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,28 @@ func GenerateEdDSA() (ed25519.PublicKey, ed25519.PrivateKey, error) {
224224

225225
// GenerateBase64EdDSA generates random public and private keys for ed25519.
226226
// The keys are returned as base64 encoded strings.
227-
func GenerateBase64EdDSA() (string, string, error) {
227+
//
228+
// Usage:
229+
//
230+
// publicKey, privateKey, err := GenerateBase64EdDSA(base64.StdPadding)
231+
//
232+
// OR
233+
//
234+
// publicKey, privateKey, err := GenerateBase64EdDSA(base64.NoPadding)
235+
func GenerateBase64EdDSA(padding rune) (string, string, error) {
228236
_, priv, err := ed25519.GenerateKey(rand.Reader)
229237
if err != nil {
230238
return "", "", err
231239
}
232240
pub := ed25519.PrivateKey(priv).Public().(ed25519.PublicKey)
233241

234-
publicKey := base64.StdEncoding.EncodeToString(pub)
235-
privateKey := base64.StdEncoding.EncodeToString(priv)
242+
if padding == 0 {
243+
padding = base64.NoPadding
244+
}
245+
encoding := base64.StdEncoding.WithPadding(padding)
246+
247+
publicKey := encoding.EncodeToString(pub)
248+
privateKey := encoding.EncodeToString(priv)
236249

237250
return publicKey, privateKey, nil
238251
}

0 commit comments

Comments
 (0)