How fix error: Specified key is not a valid size for this algorithm?

74 views Asked by At

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

0

There are 0 answers