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() } }