/// <summary>
        /// Convert a Hex formatted String to a Byte[]
        /// </summary>
        /// <param name="hexStr">Initial Hex String</param>
        /// <returns>Byte Array from Initial Hex String</returns>
        public static byte[] HexToBytes(string hexStr)
        {
            HexTools.CheckHex(hexStr);

            byte[] output = new byte[hexStr.Length / 2];

            for (int i = 0; i < output.Length; i++)
            {
                output[i] = byte.Parse(hexStr.Substring(i * 2, 2), NumberStyles.HexNumber);
            }

            return(output);
        }
        /// <summary>
        /// Convert a Hex formatted String to a Regular String
        /// </summary>
        /// <param name="hexStr">Initial Hex String</param>
        /// <returns>String from Initial Hex</returns>
        public static string HexToString(string hexStr)
        {
            HexTools.CheckHex(hexStr);

            return(BytesToString(HexToBytes(hexStr)));
        }