wallet/cmd/keypair/keypair_test.go
Anton Nesterov f1bc53ce2a
[init]
2024-08-31 17:00:14 +02:00

52 lines
2.1 KiB
Go

package main
import (
"fmt"
"testing"
"custodial/pkg/crypto"
)
func TestKeyPair(t *testing.T) {
kp, _ := crypto.KeyPair{}.Random()
fmt.Println("\nPublic key base64: ")
fmt.Println(kp.PublicKeyBase64())
fmt.Println("\nPrivate key base64: ")
fmt.Println(kp.PrivateKeyBase64())
fmt.Println("\n Test encryption: ")
text := "Hello world!"
pubKey := crypto.RSAKey(kp.PublicKeyBase64())
encrypted := pubKey.EncryptToString(text)
fmt.Println(encrypted)
fmt.Println("\n Test decryption: ")
privKey := crypto.RSAKey(kp.PrivateKeyBase64())
decrypted := privKey.DecryptToString(encrypted)
fmt.Println(decrypted)
if text != decrypted {
t.Errorf("Decrypted text is not the same as original text")
t.Fail()
}
}
func TestEnvCrypt(t *testing.T) {
fmt.Println("\n Test ENVCrypt (browser) encryption: ")
expected := "My secret text"
encrypted := "uJiPItNmQwRK7/zd6es7zmnyzR93ACp6tNaxGqUjabaCoD1X+KZFX7NE3GyGFVB4vdnwEXx+jsLyS3vXJN4ehR4r3f2J07q+SlEMVB5GxLH9gohulYzqwoQ5XW7zyZqqoD14QdX0fV1q6gZPhRiiMKmdE66+SC+ont/uDeXzr3wRnQMZf1dHQ9aAEjTqaTnGugPAbsDxRxxXBa/L44ZhNleV1wmKqTaEA0gFUtaikUjzS5yWj+9JQQi+EgzIVLGg+hVZ1ek3OASVbvlb4l7RyppJL6qxAjLyRhYOCT+I7R6v9uOAgiHGAhQF5c//FyrjiIHNiqVoFeG0FA9BiYaidw=="
privKey := crypto.RSAKey("UiZouRYYqk2Q8yOmmbyYLmn9J8YJ6C1A4JtN8wis0X8UlduvB7Xd4vCzrB7LXp9mq/zpo+CBZ41DzTJDtv/PNPWpmZInBwFeBFUfl+FPpWDldWptpuAAcqXD885MOs+0TqPhKtqWUUlkygftv+oZwv+YkxuMLvGZdipEEiwc2PIwV+F+beqo6MEd7Xwljhftp5YHkUy2x9SGgVlVWkVCUfkhqcgxXP9mLXz5h1rCoXDDhWr+gjKGfPQhmR7Lguon/fNIqNGN+ymG8ikO1A8if6ud4N8aOMQBNhirSUbb6KRZt4Dt8VgCOwcRpw4/NkEG7eUXiPmBQhsVjxkQ1dJG+QoKyNDMuALESVEjNAIAs2SQ3PBa65PFsqXQMq+kxnJQueSFCoZ0Lrh+4/iAJq01RqrlPSBsewHnIsN5bOTLg3FJluV/izyGdNdjwv6ue6UXkp2UisxovgjRBtbBZRDJcw+YGDecEhBSALkSuqBNE05VkQ6uiZQX23b2FhLtf7SrsgEPFwAOhwc/xRvTjvkLLiFSdd5i+5shQmE6KBfVngDl08Ctkobc7V/eo81tK+jsddh09JVjTOqN2S/nKjI7oASekNH1vfxRgEhd7CNJ33S2fd1eYGgsfLRzN9N6pW9e3tuXTpOSUJexXOWYaVJMUPMP20Da8/8awes4TIcJ980f9Q==")
decrypted := privKey.DecryptToString(encrypted)
fmt.Println(decrypted)
if decrypted != expected {
t.Errorf("Decrypted text is not the same as original text")
t.Fail()
}
}