From e54a2ddb5cd3f45f736128b574cfe83d83de5cfb Mon Sep 17 00:00:00 2001 From: CharithW Date: Mon, 8 Jan 2018 16:05:24 +0530 Subject: [PATCH] Added encrytion method --- seranet/Secrets/Encrypt.cs | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 seranet/Secrets/Encrypt.cs diff --git a/seranet/Secrets/Encrypt.cs b/seranet/Secrets/Encrypt.cs new file mode 100644 index 0000000..3fe005b --- /dev/null +++ b/seranet/Secrets/Encrypt.cs @@ -0,0 +1,59 @@ +using System; +using System.Text; +using System.IO; +using System.Security.Cryptography; +using Microsoft.Extensions.Options; + +namespace Workplace.Eureka.Services.Secrets +{ + public class Encrypt + { + readonly string PasswordHash ="SampleHash"; + readonly string SaltKey = "SampleSalt"; + readonly string VIKey = "SampleVI"; + + + + public string Decrypts(string encryptedText) + { + try + { + byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); + + byte[] keyBytes = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(256 / 8); + var symmetricKey = new RijndaelManaged() { Mode = CipherMode.CBC, Padding = PaddingMode.Zeros }; + using (SymmetricAlgorithm symmetricKey = CreateAlgorithm()) + { + var encryptor = symmetricKey.CreateEncryptor(keyBytes, Encoding.ASCII.GetBytes(VIKey)); + + using (MemoryStream memoryStream = new MemoryStream(cipherTextBytes)) + { + using (CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read)) + { + cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length); + cryptoStream.FlushFinalBlock(); + cipherTextBytes = memoryStream.ToArray(); + cryptoStream.Close(); + } + memoryStream.Close(); + } + string encrypted_text = Convert.ToBase64String(cipherTextBytes); + return encrypted_text; + } + } + catch (Exception) + { + return null; + } + } + + static SymmetricAlgorithm CreateAlgorithm() + { + SymmetricAlgorithm algo = Aes.Create(); + algo.Mode = CipherMode.CBC; + algo.Padding = PaddingMode.None; + + return algo; + } + } +} \ No newline at end of file