NULL
должен быть объявлен в одном из стандартных заголовочных файлов следующим образом:
#define NULL ((void*)0)
Так или иначе, вы сравниваете ноль, и компилятор должен оптимизировать оба одинаковых способа. Каждый процессор имеет некоторую «оптимизацию» или код операции для сравнения с нулем.
Алгоритм Message Digest 5 или MD5, это односторонняя криптографическая хеш-функция. MD5 выполняет множество бинарных операций с «сообщением» (двоичными данными, например, ISO-образом) для вычисления 128-битного «хэша».
Полезно проверить целостность загруженного пакета, такого как ubuntu, поскольку генерирует хэш MD5 будет идентичным, если пакет точно такой же, как аутентифицированный источник. Если при загрузке есть ошибки (из-за сетевых помех и т. Д.) Или если вы загрузили вредоносный пакет, который выглядел как ubuntu, но содержал другой код / что-то еще, тогда MD5 не будет соответствовать, и вы узнаете, что что-то было другим вам следует загрузить снова из другого источника.
ОБНОВЛЕНИЕ
Если выше не объясняется, «как это работает»
MD5Sum - это инструмент генерации контрольных сумм файлов, использующий MD5 в качестве алгоритма хэширования. Он обеспечивает пользователю разумную уверенность в том, что файл не был испорчен.
Для этого пользователю необходимо (с помощью интеграции оболочки или вручную) обработать свой собственный хэш MD5 и сравнить его с хэшем, предоставленным загрузчиком.
Хеш MD5Sum не гарантирует вам, что пользователь, предоставивший контрольную сумму, не изменял файл, для этого вы должны доверять источнику контрольной суммы MD5 (т.е. получить контрольную сумму от Ubuntu, а не от сайта загрузки, предоставившего образ).