Шифрование передаваемых данных с помощью public key

PHP

Генерация ключа

<?php
$config = array(
    "digest_alg" => 'sha512',
        "private_key_bits" => 4096,
    "private_key_type" => OPENSSL_KEYTYPE_RSA
);
$keyPair = openssl_pkey_new($config);
$privateKey = NULL;
openssl_pkey_export($keyPair, $privateKey);
var_dump($privateKey);
$keyDetails = openssl_pkey_get_details($keyPair);
$publicKey = $keyDetails['key'];
var_dump($publicKey);
die();
?>


Библиотека для работы

github.com/safarishi/php-rsa-js/

Check HMAC

PHP
private function CheckHMAC($sSercet)
{
	if (!$sSercet) throw new Exception('Sercet key is not defined');
	$sPostData    = file_get_contents('php://input');
	$sCheckSign   = base64_encode(hash_hmac('SHA256', $sPostData, $sSercet, true));
	$sRequestSign = isset($_SERVER['HTTP_CONTENT_HMAC']) ? $_SERVER['HTTP_CONTENT_HMAC'] : '';
	if ($sCheckSign !== $sRequestSign) {
		throw new Exception('Hacking atempt!');
	};
	return true;
}

Linux Mint 19. Смена раскладки клавиатуры (языка) блокирует хоткеи (hotkeys)

Для решения проблемы блокировки горячих клавиш при переключении клавиатуры, будь то crtl+shift или shit+alt, необходимо выполнить следующий код. Проверенно на Linux Mint 19.1 Tessa xfe. После обновления смена раскладки будет работать по событию отжатия клавиш release (keyup), а не нажатия keypress(keydown)

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

MYSQL: смена datadir

После смены datadir не запускается mysql.Пишет следующее сообщение
sudo service mysql start 
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.


Для решение проблемы надо отредактировать файл
/etc/apparmor.d/local/usr.sbin.mysqld
/data/ r,
/data/** rwk,

Потом перезапустить
sudo service apparmor reload

Нет иконки скайпа в трее Linux Mint 19.1

После установки скайпа на Linux Mint 19.1 в трее не появилась иконка.
Чтобы вылечить это редактируем файл
~/.config/autostart/skypeforlinux.desktop
Меняем
Exec=/usr/bin/skypeforlinux

На
Exec=env XDG_CURRENT_DESKTOP=Unity /usr/bin/skypeforlinux %U

После редактирования желательно изменить права, чтобы скайп снова не перезаписал файл.