My encription code:
private string GetHash(HMAC hash, string input)
{
byte[] data = hash.ComputeHash(Encoding.UTF8.GetBytes(input));
var builder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
builder.Append(data[i].ToString("x2"));
}
return builder.ToString();
}
private byte[] GetVector()
{
var hash = GetHash(HMACSHA256.Create("HmacSHA256"), "<some_key>");
using var aes = Aes.Create();
aes.Key = Encoding.Default.GetBytes(hash); // exception. keySize = 64 bytes
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.GenerateIV();
return aes.IV.Concat(aes.IV).ToArray();
}
I do not know how change keySize. I think it`s need 32 bytes.
Perhaps I need to change the encryption method?
Any help. I'm new to encryption. Thanks