#github

Допустим у нас есть данные:

$data = 'My secret data!';

И мы хотим зашифровать их, чтобы позже расшифровать с использованием пароля, например такого:

$password = '1234';

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

$key = sha1($password);

Рекомендуется использовать для шифрования библиотеку OpenSSL: openssl_encrypt(), openssl_decrypt() и вспомогательные функции.

Для начала нужно выбрать метод шифрования, например, aes-128-cbc. Все доступные методы можно посмотреть вызвав функцию openssl_get_cipher_methods().

$method = 'aes-128-cbc';

Теперь нам нужно создать вектор инициализации (IV, Initialization Vector) - случайные данные, на основе которых будет произведено шифрование.

RabbitMQ

Как установить RabbitMQ?

Для windows очень просто - скачать с официального сайта инсталлятор и установить. :)

Плюс нужно прописать в PATH путь к консольным скриптам (c:\Program Files\RabbitMQ Server\rabbitmq_server-{VERSION}\sbin\).

И добавить в .bashrc: alias rabbitmqctl='rabbitmqctl.bat', чтобы удобнее было запускать консольные команды.

Для установки на Linux и macOS инструкции есть на официальном сайте.

Как проверить запущен ли сервис?

Выполнить в консоли:

rabbitmqctl status

Как посмотреть список сообщений и количество сообщений в них?

Выполнить в консоли:

rabbitmqctl list_queues

Как добавить сообщение в очередь из php?

Устанавливаем библиотеку php-amqplib:

composer install php-amqplib/php-amqplib

Создаём объект соединения:

Я люблю слушать подкасты. И ещё люблю автоматизацию. И кроме php интересуюсь питоном. Поэтому в качестве пет проджекта я написал скрипт который скачивает свежие выпуски подкастов забирая их из rss лент, ссылки на которые можно пачкой сохранить в настройках. Скрипт раскладывает по папкам подкастов 3 последних выпуска (в виде mp3 файлов), а старые выпуски удаляет. И уведомляет на почту об успехе или об ошибках.

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

Всё это я сложил на гитхаб https://github.com/hobocta/podcast-downloader.

Сделал простенький сервис генерирующий случайные пароли. Позволяет копировать пароли в буфер по клику. Удобная генерация новых паролей в один клик. Ничего лишнего. Приглашаю пользоваться - http://pwd.site-home.ru/

Код тут https://github.com/hobocta/pwd-service