94 lines
3.1 KiB
C#
94 lines
3.1 KiB
C#
//
|
|
// 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();
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|