public static FixedLengthString ComputeHmacSHA256Hash(FixedLengthString input, byte[] hashKey = null)
        {
            if (input == null)
            {
                return(input);
            }

            var hashData = ComputeHmacSHA256Hash(input.ToString(), hashKey);

            return(new FixedLengthString(input.GetLength(), string.Concat(hashData.Select(b => b.ToString("x2")))));
        }
        public static FixedLengthString ComputeHmacHash(FixedLengthString input, HMAC hashAlgorithm)
        {
            if (input == null)
            {
                return(input);
            }

            var hashData = ComputeHmacHash(input.ToString(), hashAlgorithm);

            return(new FixedLengthString(input.GetLength(), string.Concat(hashData.Select(b => b.ToString("x2")))));
        }