Provides encryption and decryption (not for everyone, see the documentation) of strings using MD5, SHA1, SHA256, Base 16, Base64, DES, AES algorithms.
> dotnet add package Hopex.Cipher --version 23.0.1
PM> NuGet\Install-Package Hopex.Cipher -Version 23.0.1
<PackageReferenceInclude="Hopex.Cipher"Version="23.0.1" />> paket add Hopex.Cipher --version 23.0.1
> #r "nuget: Hopex.Cipher, 23.0.1"
// Install Hopex.Cipher as a Cake Addin
#addin nuget:?package=Hopex.Cipher&version=23.0.1
// Install Hopex.Cipher as a Cake Tool
#tool nuget:?package=Hopex.Cipher&version=23.0.1
| Option | Status |
|---|---|
| SHA1 | ✅ |
| SHA256 | ✅ |
| MD5 | ✅ |
| Base16 | ✅ |
| Base64 | ✅ |
| AES | ✅ |
| DES | ✅ |
publicvoidHandler(){/** * If you use DES encryption, then you need to pass the encryption key to the constructor. * For other types of encryption, a key is not required. */stringsentence="Some input sentence";stringsalt="my-salt";Enum.GetNames(enumType:typeof(CipherType)).ToList().ForEach(action: type =>{CipherTypecipherType=(CipherType)Enum.Parse(enumType:typeof(CipherType),value:type);Ciphercipher=newCipher(type:cipherType,key:cipherType.Equals(obj:CipherType.DES)?salt:default);stringencodedInput=cipher.Encode(input:sentence);stringdecodedInput=string.Empty;try{decodedInput=cipher.Decode(input:encodedInput);}catch(Exceptionex){decodedInput=ex.Message;}Console.WriteLine(string.Join(separator:"\n","– – –",$"Cipher type: {type}",$"Encoded: {encodedInput}",$"Decoded: {decodedInput}"));});/** * Console output: * * – – – * Cipher type: AES * Encoded: nWPVHKZ4vyVneN4OfDgA7dHYqCKfBS+XAGykqAkOmGkfaZ08SisazCdrjs9/MHqW * Decoded: Some input sentence * – – – * Cipher type: Base64 * Encoded: U29tZSBpbnB1dCBzZW50ZW5jZQ== * Decoded: Some input sentence * – – – * Cipher type: DES * Encoded: 2/DocoMlaRrp2eH47DD3a+sNSZhFHF3z * Decoded: Some input sentence * – – – * Cipher type: Base16 * Encoded: 53006f006d006500200069006e007000750074002000730065006e00740065006e0063006500 * Decoded: Some input sentence * – – – * Cipher type: MD5 * Encoded: 2d63e514d848629b2bad0e6022287af8 * Decoded: MD5 hash cannot be decoded. * – – – * Cipher type: SHA1 * Encoded: 284a8d8457bc0f4d512801716a0717e1c29d1605 * Decoded: SHA1 hash cannot be decoded. * – – – * Cipher type: SHA256 * Encoded: e631d3522a22551a28a390e0fa2b71d33e72db062a48d177f26a1d26f36232b6 * Decoded: SHA-256 hash cannot be decoded. */}publicvoidHandler(){/** * If you use DES encryption, then you need to pass the encryption key to the constructor. * For other types of encryption, a key is not required. */stringsentence="Some input sentence";stringencodedSentence=string.Empty;stringsalt="my-salt";encodedSentence=newCipher(CipherType.AES).Encode(sentence);Console.WriteLine($"AES encoded: {encodedSentence}");Console.WriteLine($"AES decoded: {newCipher(CipherType.AES).Decode(encodedSentence)}");encodedSentence=newCipher(CipherType.DES,salt).Encode(sentence);Console.WriteLine($"DES encoded: {encodedSentence}");Console.WriteLine($"DES decoded: {newCipher(CipherType.DES,salt).Decode(encodedSentence)}");}MIT License