Была у нас полтора года большая разборка по поводу gost12sum, вроде
тогда всё устаканили, но вот наступил на граблю: Хэши, вычисляемые утилитой gost12sum, можно записать в файл, а потом проверить соответствие файлов ранее вычисленным хэшам (команда -с), если какие-то хэши не совпадут, то утилита ругнется, а если всё ok, то молча завершит работу. Документировано, что работает -с только с хэшами 256 бит, но я был невнимателен и подсунул ей файл с 512-битными хэшами. Ничего не сказал рыбка, то есть повела себя ровно так, как если бы она проверила все хэши и не нашла проблем. Был введен в заблуждение, и только после того, как удалил один из файлов, а ругани по-прежнему не увидел, понял, что что-то тут не так. Имхо, сие есть бага, ибо вводит пользователя в опасное заблуждение. Предполагаю, что утилита игнорирует строки, не соответствующие формату хэш имя_файла и последовательность из 128 шестнадцатеричных цифр она за хэш не признала. Предлагаю: 1) научить -с проверять 512-битные хэши (отличать от 256-битных можно тупо по длине); 2) считать хэшем любую последовательность 16-ричных цифр в начале строки, независимо от длины, если длина при этом 64 или 128 цифр, проверять по соответствующему алгоритму, на другие длины ругаться (основание: при ручном редактировании файла типичная ошибка - выделяя блок из нескольких строк захватить еще и первый символ следующей строки, после удаления такого блока следующий хэш окажется неполным, и это должно диагностироваться). С уважением, Игорь Устинов зам.ген.директора ООО "Криптоком" On 20.08.2017 16:25, Dmitry Belyavsky
wrote:
|