internal static bool IsValidDeviceID(string deviceID)
        {
            if (string.IsNullOrEmpty(deviceID))
            {
                ASF.ArchiLogger.LogNullError(nameof(deviceID));

                return(false);
            }

            // This one is optional
            int deviceIdentifierIndex = deviceID.IndexOf(':');

            if (deviceIdentifierIndex >= 0)
            {
                deviceIdentifierIndex++;

                if (deviceID.Length <= deviceIdentifierIndex)
                {
                    return(false);
                }

                deviceID = deviceID.Substring(deviceIdentifierIndex);
            }

            // Dashes are optional in the ID, strip them off for comparison
            string hash = deviceID.Replace("-", "");

            return((hash.Length > 0) && (Utilities.IsValidDigitsText(hash) || Utilities.IsValidHexadecimalText(hash)));
        }