github.com/karalabe/go-ethereum@v0.8.5/crypto/encrypt_decrypt_test.go (about) 1 package crypto 2 3 import ( 4 "bytes" 5 "fmt" 6 "testing" 7 8 "github.com/ethereum/go-ethereum/ethutil" 9 ) 10 11 func TestBox(t *testing.T) { 12 prv1 := ToECDSA(ethutil.Hex2Bytes("4b50fa71f5c3eeb8fdc452224b2395af2fcc3d125e06c32c82e048c0559db03f")) 13 prv2 := ToECDSA(ethutil.Hex2Bytes("d0b043b4c5d657670778242d82d68a29d25d7d711127d17b8e299f156dad361a")) 14 pub2 := ToECDSAPub(ethutil.Hex2Bytes("04bd27a63c91fe3233c5777e6d3d7b39204d398c8f92655947eb5a373d46e1688f022a1632d264725cbc7dc43ee1cfebde42fa0a86d08b55d2acfbb5e9b3b48dc5")) 15 16 message := []byte("Hello, world.") 17 ct, err := Encrypt(pub2, message) 18 if err != nil { 19 fmt.Println(err.Error()) 20 t.FailNow() 21 } 22 23 pt, err := Decrypt(prv2, ct) 24 if err != nil { 25 fmt.Println(err.Error()) 26 t.FailNow() 27 } 28 29 if !bytes.Equal(pt, message) { 30 fmt.Println("ecies: plaintext doesn't match message") 31 t.FailNow() 32 } 33 34 _, err = Decrypt(prv1, pt) 35 if err == nil { 36 fmt.Println("ecies: encryption should not have succeeded") 37 t.FailNow() 38 } 39 40 }