Как проверить начальную точку сообщений ASN.1 в длинном гексе с помощью PYASN1 - PullRequest
0 голосов
/ 23 ноября 2018

У меня очень длинный шестнадцатеричный поток на входе, содержащий несколько сообщений ASN.1, но они не находятся в фиксированном положении, могут начинаться где угодно и иметь любую длину, а также то, что между ними, является случайным по длине и содержанию.Я был в состоянии декодировать его, пробуя каждый байт и перехватывая исключение, если декодирование не удается, я удаляю первый байт и повторяю попытку со вторым и так далее.Когда я нахожу сообщение, я декодирую его, а затем снова начинаю с оставшейся подложки и так далее.Это работает, но это очень грубое решение и, очевидно, неэффективно: для длинных входных файлов требуется целая вечность, чтобы достичь конца.Существует ли эффективный метод определения того, начинается ли ввод с сообщения ASN.1 без вызова декодера на каждом байте?

...