Files
indra/pkg/crypto/public_test.go
2023-09-05 00:47:25 +01:00

41 lines
781 B
Go

package crypto
import (
"git.indra-labs.org/dev/ind/pkg/util/ci"
"testing"
)
func TestBase32(t *testing.T) {
ci.TraceIfNot()
for i := 0; i < 10000; i++ {
var k *Prv
var e error
if k, e = GeneratePrvKey(); fails(e) {
t.Error(e)
t.FailNow()
}
p := DerivePub(k)
b32 := p.ToBased32()
pr32 := k.ToBased32()
// log.D.F("pub key: %d %s priv key: %d %s\n", len(b32), b32, len(pr32), pr32)
var kk *Pub
if kk, e = PubFromBased32(b32); fails(e) {
t.Error(e)
t.FailNow()
}
if b32 != kk.ToBased32() {
t.Error("failed to decode public key")
t.FailNow()
}
var pk *Prv
if pk, e = PrvFromBased32(pr32); fails(e) {
t.Error(e)
t.FailNow()
}
if pr32 != pk.ToBased32() {
t.Error("failed to decode private key")
t.FailNow()
}
}
}