// // using System.Globalization; // using System.Security.Cryptography; // using System.Text; // // namespace BrokerCore.Common; // public static class Helpers // { // public static string generateAccessKey(string inputString, int keyLength = 24) // { // var salt = DateTime.Now.ToString(CultureInfo.InvariantCulture); // using var pbkdf2 = // new Rfc2898DeriveBytes(inputString, Encoding.UTF8.GetBytes(salt), 10000, HashAlgorithmName.SHA256); // byte[] key_bytes = pbkdf2.GetBytes(keyLength); // 원하는 길이의 바이트 배열 생성 // return BitConverter.ToString(key_bytes).Replace("-", "").ToLower()[..keyLength]; // 원하는 길이만큼 잘라서 반환 // } // // public static string generateAccessToken(string inputString, string secret, int keyLength = 32) // { // var salt = DateTime.Now.ToString(CultureInfo.InvariantCulture); // using var pbkdf2 = // new Rfc2898DeriveBytes(inputString, Encoding.UTF8.GetBytes(salt), 10000, HashAlgorithmName.SHA256); // byte[] key_bytes = pbkdf2.GetBytes(keyLength); // 원하는 길이의 바이트 배열 생성 // return BitConverter.ToString(key_bytes).Replace("-", "").ToLower()[..keyLength]; // 원하는 길이만큼 잘라서 반환 // } // // public static string generateAccessKeyTest() // { // var key = generateAccessKey("test"); // return key; // } // // public static string getErrorName(int errorCode) // { // try // { // var error_name = (BrokerApiErrorCode)errorCode; // return error_name.ToString(); // } // catch (Exception) // { // return errorCode.ToString(); // } // } // // public static string encrypt(string plainText, string planetSecretKey, string tokenSecret) // { // var key = Encoding.UTF8.GetBytes(tokenSecret); // var iv = Encoding.UTF8.GetBytes(planetSecretKey); // using Aes aes_alg = Aes.Create(); // aes_alg.Key = key; // aes_alg.IV = iv; // // ICryptoTransform encryptor = aes_alg.CreateEncryptor(aes_alg.Key, aes_alg.IV); // // using (MemoryStream ms_encrypt = new MemoryStream()) // { // using (CryptoStream cs_encrypt = new CryptoStream(ms_encrypt, encryptor, CryptoStreamMode.Write)) // { // using (StreamWriter sw_encrypt = new StreamWriter(cs_encrypt)) // { // sw_encrypt.Write(plainText); // } // // return Convert.ToBase64String(ms_encrypt.ToArray()); // } // } // } // // public static string decrypt(string cipherText, string planetSecretKey, string tokenSecret) // { // var key = Encoding.UTF8.GetBytes(tokenSecret); // var iv = Encoding.UTF8.GetBytes(planetSecretKey); // // byte[] buffer = Convert.FromBase64String(cipherText); // using Aes aes_alg = Aes.Create(); // aes_alg.Key = key; // aes_alg.IV = iv; // // ICryptoTransform decryptor = aes_alg.CreateDecryptor(aes_alg.Key, aes_alg.IV); // // using (MemoryStream ms_decrypt = new MemoryStream(buffer)) // { // using (CryptoStream cs_decrypt = new CryptoStream(ms_decrypt, decryptor, CryptoStreamMode.Read)) // { // using (StreamReader sr_decrypt = new StreamReader(cs_decrypt)) // { // return sr_decrypt.ReadToEnd(); // } // } // } // } // }