Created
April 4, 2025 05:03
-
-
Save TsuyoshiUshio/c299d7e7de27b2bae466bee7c9a6cc1b to your computer and use it in GitHub Desktop.
Microsoft 50th
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Security.Cryptography; | |
using System.Text; | |
namespace MS50 | |
{ | |
public class AesEncryption | |
{ | |
public static string EncryptString(string plainText, string key) | |
{ | |
byte[] iv; | |
byte[] encrypted; | |
using (Aes aes = Aes.Create()) | |
{ | |
aes.Key = Encoding.UTF8.GetBytes(key); | |
aes.GenerateIV(); | |
iv = aes.IV; | |
ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV); | |
using (MemoryStream ms = new MemoryStream()) | |
{ | |
using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) | |
{ | |
using (StreamWriter sw = new StreamWriter(cs)) | |
{ | |
sw.Write(plainText); | |
} | |
encrypted = ms.ToArray(); | |
} | |
} | |
} | |
byte[] combinedData = new byte[iv.Length + encrypted.Length]; | |
Array.Copy(iv, 0, combinedData, 0, iv.Length); | |
Array.Copy(encrypted, 0, combinedData, iv.Length, encrypted.Length); | |
return Convert.ToBase64String(combinedData); | |
} | |
public static string DecryptString(string cipherText, string key) | |
{ | |
byte[] combinedData = Convert.FromBase64String(cipherText); | |
byte[] iv = new byte[16]; | |
byte[] cipher = new byte[combinedData.Length - iv.Length]; | |
Array.Copy(combinedData, 0, iv, 0, iv.Length); | |
Array.Copy(combinedData, iv.Length, cipher, 0, cipher.Length); | |
using (Aes aes = Aes.Create()) | |
{ | |
aes.Key = Encoding.UTF8.GetBytes(key); | |
aes.IV = iv; | |
ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV); | |
using (MemoryStream ms = new MemoryStream(cipher)) | |
{ | |
using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read)) | |
{ | |
using (StreamReader sr = new StreamReader(cs)) | |
{ | |
return sr.ReadToEnd(); | |
} | |
} | |
} | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace MS50 | |
{ | |
using System; | |
class Program | |
{ | |
static void Main() | |
{ | |
var ascii = "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"; | |
Console.WriteLine(AesEncryption.DecryptString(ascii, " AzureFunctions ")); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment