check / check (push) Waiting to run
go-bip39's repository no longer exists. The part of v1.1.0 that secret uses (NewEntropy, NewMnemonic, NewSeed, IsMnemonicValid and what they call; English word list only) now lives in internal/bip39 with upstream's LICENSE beside it, along with upstream's tests of that code and their vectors unchanged. Every import moves there, and the module leaves go.mod and go.sum. Beyond the trimming, only what the linter asked for changed. No derived key or mnemonic changes. Model: opus-5-5
31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
package bip39_test
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"fmt"
|
|
|
|
"sneak.berlin/go/secret/internal/bip39"
|
|
)
|
|
|
|
//nolint:lll // the test vector and its output, kept as upstream wrote them
|
|
func ExampleNewMnemonic() {
|
|
// the entropy can be any byte slice, generated how pleased,
|
|
// as long its bit size is a multiple of 32 and is within
|
|
// the inclusive range of {128,256}
|
|
entropy, _ := hex.DecodeString("066dca1a2bb7e8a1db2832148ce9933eea0f3ac9548d793112d9a95c9407efad")
|
|
|
|
// generate a mnemomic
|
|
mnemomic, _ := bip39.NewMnemonic(entropy)
|
|
fmt.Println(mnemomic)
|
|
// output:
|
|
// all hour make first leader extend hole alien behind guard gospel lava path output census museum junior mass reopen famous sing advance salt reform
|
|
}
|
|
|
|
//nolint:lll // the test vector and its output, kept as upstream wrote them
|
|
func ExampleNewSeed() {
|
|
seed := bip39.NewSeed("all hour make first leader extend hole alien behind guard gospel lava path output census museum junior mass reopen famous sing advance salt reform", "TREZOR")
|
|
fmt.Println(hex.EncodeToString(seed))
|
|
// output:
|
|
// 26e975ec644423f4a4c4f4215ef09b4bd7ef924e85d1d17c4cf3f136c2863cf6df0a475045652c57eb5fb41513ca2a2d67722b77e954b4b3fc11f7590449191d
|
|
}
|