Создаем свою программу шифрования файлов на RC4

В этой статье я попробую рассказать вам, дорогие читатели блога, об одной из своих первых попыток написания самодельной программы шифрования файлов и показать вполне рабочий пример простого алгоритма шифрования. А что это будет за алгоритм и как будет организована программа вы узнаете далее… Читать далее →

Подробнее

Возведение в степень без циклов и условий

А что, если в D можно возвести в степень не пользуясь циклами и условиями? Конечно, тут я должен сказать, что возвести получиться только в целую неотрицательную степень, но все же это возможно…

Читать далее →

Подробнее

Реализация односвязного списка

Односвязный список – такая структура данных, в которой каждый элемент (узел) хранит информацию, а также ссылку на следующий элемент. Последний элемент списка ссылается на NULL. Сегодня мы реализуем его на D. Рассказ о структуре мы опустим, если у вас появится желание тщательно разобраться в ней, то добро пожаловать в поисковые системы, ну или можете посмотреть, например, тут: реализация односвязного списка на Си.

Читать далее →

Подробнее

Обработка изображений: цифровые фильтры

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

Подробнее

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

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

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

Читать далее →

Подробнее

Обработка файлов журналов с помощью D (часть II)

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

Читать далее →

Подробнее

Простая реализация алгоритма шифрования BlowFish

Эта реализация была написана ради эксперимента в области реализации криптографических алгоритмов, просто для того, чтобы попробовать кое-что новое. В мою реализацию BlowFish, созданную на основе описания из книги Брюса Шнайера «Прикладная криптография» включено шифрование и дешифрование массивов байтов, строк, а также показаны простые процедуры шифрования файлов.

Читать далее →

Подробнее