Реализация алгоритма SHA-256

SHA-256 一 криптографическая хэш-функция, разработанная Агенством национальной безопасности США. Алгоритм SHA-256 основан на структуре Меркля-Дамгарда, согласно которой начальный индекс делится на блоки сразу после внесения изменений, а те, в свою очередь, на 16 слов.

Подробнее

Вставка байтов с фиксированной избыточностью (COBS)

Вставка байтов с фиксированной избыточностью (COBS) — это один из алгоритмов кодирования байтов данных, который приводит к эффективному, надежному и однозначному кадрированию пакетов независимо от их содержимого, что упрощает для принимающих приложений восстановление искаженных пакетов. Он использует конкретное значение байта, обычно ноль, в качестве разделителя пакетов. Когда в качестве разделителя используется ноль, алгоритм заменяет каждый […]

Подробнее

Хеш-функция one_at_time

Хеш-функция one_at_time входит в семейство не криптографических хеш-функций общего назначения для ключей переменной длины разработанных Бобом Дженкинсом. Впервые описание функции было опубликовано в 1997 году.

Подробнее

Топ 5 полезных утилит, написанных на D

В этой небольшой статье мы покажем ряд простых утилит, написанных на D, которые вы можете задействовать в своей работе. Некоторые из этих утилит являются простыми аналогами известных команд Unix, но, несмотря на это, имеют под своим капотом солидный функционал.

Подробнее

Конвертация PNG в файлы Portable Any Map и Farbfeld

В одной из статей мы упоминали, что нам не удалось найти примеры изображений в одном из описанных в блоге форматов. Тогда, проблема с отсутствием демонстрационных файлов решилась с помощью сторонних утилит и последующей конвертацией в нужный формат. Однако, очень неудобно иметь зависимость от стороннего инструмента и потому мы решили написать простой рецепт осуществления этой задачи силами D.

Подробнее

Небольшая подборка полезных фрагментов кода на D

В этой статье мы покажем ряд полезных фрагментов кода, которые известны практически каждому программисту на D. Здесь не будет каких-то интересных трюков и неожиданных решений, лишь скромная доля маленьких рецептов, которые способны упростить работу и которые иногда забываются.

Подробнее

Интервалы в D

Очень часто в разных задачах встречается один и тот же однотипный шаблон: в зависимости от того, в какой из нескольких, известных заранее, интервалов попало значение, следует предпринять разное действие. Обычно, таким действием является вычисление некоего числа или в общем случае, некой величины (необязательно числовой). Когда интервалов достаточно много, то начинается уже рутина с операторами if […]

Подробнее

Некоторые вспомогательные функции для работы с битами

В этом скромном рецепте мы предлагаем вам некоторые функции, которые потенциально могут облегчить вам программирование, если вы вдруг будете работать со значениями как с наборами битов. К сожалению, в рецепте практически нет ничего оригинального, и большая часть реализации взята из одной очень интересной библиотеки для Python 3, но это не значит, что в изложенном нами […]

Подробнее

Извлекаем данные из первого незаконного простого числа

Наш мир полон странностей: иногда — это странности природы, иногда — странности человеческой сущности, а порой странности ожидают нас там, где мы больше всего ожидаем увидеть практичность и порядок. Эти два качества обычно присущи двум вещам: математике, которая описывает мир чисел и иных объектов, и юриспруденции, которая описывает и вводит правила и нормы, управляющие нашим […]

Подробнее