Алгоритм шифрования XTEA

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

Подробнее

Отображение шкалы для диапазона значений в консоли

В этом рецепте, на который меня вдохновил RosettaCode, я покажу простой пример того, как нарисовать «графическую» школу из столбиков для некоторого массива значений прямо в консоли и без всяких сторонних библиотек (окромя, стандартной) !

Подробнее

QtE5EntryPoint

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

Подробнее

Цветной вывод текста в терминале Linux

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

Подробнее

Поверхностное копирование объекта в D

Поверхностное копирование объекта можно осуществить весьма хитроумным способом, который мы нашли в интернете (к сожалению, найдено было давно и мы не смогли установить точного автора, а ссылку потеряли):

Подробнее

Вывод всех строк файла в другой в обратном порядке

Задача обращения строк файла простая, но оцените эффектность и изящность нашего решения в гибридном стиле (используется часть ООП и немного от функционального стиля).

Подробнее

Пример реализации стека и очереди

Стек — это упорядоченная коллекция элементов, добавление нового или удаление существующего элемента которой всегда происходит только с одного из её концов. Элемент, добавленный последним, будет удалён в первую очередь, а элемент, добавленный первым, в последнюю. Такой принцип организации называется «последним вошел — первым вышел» (Last-In-First-Out или LIFO). Очередь очень похожа на стек, но, в отличие […]

Подробнее

Вычисление CRC32 от строки

Иногда для самых разных целей требуется вычислить контрольную сумму строки. Одним из алгоритмов её вычисления является Cyclic redundancy check (CRC) или Циклический избыточный код. CRC является практическим приложением помехоустойчивого кодирования, основанном на определённых математических свойствах циклического кода. Мы не будем останавливаться на математических подробностях, а просто напишем на D алгоритм CRC32.

Подробнее