Encrypt/Decrypt Example for the Article Cross Programming Language Encryption – CSharp vs Go, Part 2.
Algorithm / Language (Go) | C# | Go | Js | Py |
---|---|---|---|---|
AES/CFB | ? | ✓ | ✓ | ✕ |
AES/CFB8 | ✕ | ✕ | ✕ | ✕ |
AES/CBC | ✓ | ✓ | ✓ | ✓ |
RSA/OAEP | ✕ | ✓ | ✕ | ✕ |
RSA/PCKS1V15 | ✓ | ✓ | ✓ | ✓ |
Have openssl installed.
git clone https://github.com/lunaticthinker-me/demo-cross-lang-encryption-go
- Please install GoLang. We support version 1.13.x and 1.14.x
- Please instal a GoLang IDE
- Please install git-scm tool.
- Please install a form of make/cmake
- Install Make for Windows
- Install make from ezwinports
- Install chocolatey, run
choco install make
- Please install
git
andmake
sudo apt-get install git make -y
Run unit tests using make test
.
Please run make run
Demo output:
AES Encrypted Values:
CFB 128 => 5WPWeBKWEafSfZCAscojoXjpr6AG78cC7Sqx52X9/fo=
CFB 192 => lkyhuJGvKOwOT5cKYJz9mmO6ND2PGo/XOM5mv5OIvYM=
CFB 256 => bmcX3+xKhz3Xml4/mQTL9qILe7SEIOfocERs4ZcqD74=
CBC 128 => 6u9RmbQs5XQQEIug+lP1+zRssBPfkQ5e0Y78TUbCtUE=
CBC 192 => hCNI0Yb90jKAhds4x9c4G0c5CwtRxMtCfe4As3JIq8A=
CBC 256 => dXP9pSWf6cgAegouT5UDTfkDE+t7A3j9khe7N/vNB00=
RSA Encrypted Values:
FxGi+JNXalIIL3Y+poyP4F3j9Mp4yR75Rbe7yx8yI3MNix95OI3LY6jBYpGD5nhXoaYKgX2NrmZcaAeNg7uzIH3m95ULMrboa0Br3IPmEw2aMwW8uxDEL/I4x7Uvlux1QCHnv3rnYNX/Hyipg3DMeKKppmcAYZ1zpfatH6qXMD0vGttpX1KksUe/3TN/oz8swPecAePFg6I/MPcndCxIeVfTXLqUCpQbxvmN7GYQpWbxXGB7S6rQpxNkZLcssH6XHwM/6LRQ3laQ+U+o3kL/bCUUrSB27B6yAB65I0SsLyhFY+bxDjugxOND0MPaVxVpa7MM5lileUL8uqG5U58sBg==
X509 Encrypted Values:
leFEibNhepKTLi2Er/BtavLejoKJ895LnkNgLEcolG4FOak7n/dKa1cYAZNrHqA/gu/Sd2HBdRirNI2OyJ766Lm5I5iiMQzLGobFI4+jyeLGDCjo2RjySLFBVjPKKbjo3RxcxpS6C/V3qvet3Px2VwdzCEfB3Ffpimsk6RblaZgLPl6YzRQsV1qkYtxxdsk3mdlR3eyXxSjfSUlx1bSZvv/BD2sCJtq+SiHOP9QfvQ8iIG5IbZtNdT95oaQ92bpGxuWA76DYqbP4C0s/Iv4w/GvV0mcgxcK1ePuY3wzCeHy6a80l36OaQGXf6xEJffvQ/QRz7BaEG2V0Fz/Ezx8L9g==
- Dragos Cirjan - Initial work - Go Template
See also the list of contributors who participated in this project.
Add a set of links to the issues page/website, so people can know where to add issues/bugs or ask for support.