• Как перевести шифрование openssl encrypt с PHP на JS?

    HTML+JS

    <html>
    <head>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script></head>
    <body>
    <script>
        var data = '{"message": 123}';
        var secret_key = 'test';
        var secret_iv = 'test';
        var method = "AES-192-CBC";
        var iv = CryptoJS.SHA256(secret_iv).toString().substring(0, 16);
        var encrypted = CryptoJS.AES.encrypt(data, secret_key, {iv: iv, mode: CryptoJS.mode.CBC}).toString();
    
        console.log(encrypted);
    </script>
    </body>
    </html>



    Если фронт собирается (используем import)
    Код

    import CryptoJS from 'crypto-js';
    
    const data = '{"message": 123}';
    const secret_key = 'test';
    const secret_iv = 'test';
    const method = 'AES-192-CBC';
    const iv = CryptoJS.SHA256(secret_iv).toString().substring(0, 16);
    const encrypted = CryptoJS.AES.encrypt(data, secret_key, { iv: iv, mode: CryptoJS.mode.CBC }).toString();
    
    console.log(encrypted);

    Ответ написан
    Комментировать
  • Как на GO из консоли считать нажатие стрелок на клавиатуре?

    В Go можно использовать пакет "github.com/eiannone/keyboard" для считывания нажатий клавиш с клавиатуры, включая стрелки. Пакет keyboard позволяет легко обрабатывать события нажатия и отпускания клавиш и читать нажатые клавиши с помощью функций-обратных вызовов.

    Вот пример кода, который считывает нажатие стрелок с клавиатуры:
    Код

    package main
    
    import (
        "fmt"
        "os"
    
        "github.com/eiannone/keyboard"
    )
    
    func main() {
        // Инициализация пакета клавиатуры
        if err := keyboard.Open(); err != nil {
            panic(err)
        }
        defer func() {
            _ = keyboard.Close()
        }()
    
        fmt.Println("Нажмите стрелку влево, стрелку вправо или Esc для выхода...")
    
        for {
            char, key, err := keyboard.GetKey()
            if err != nil {
                panic(err)
            }
    
            if key == keyboard.KeyArrowLeft {
                fmt.Println("Стрелка влево нажата")
            } else if key == keyboard.KeyArrowRight {
                fmt.Println("Стрелка вправо нажата")
            } else if key == keyboard.KeyEsc {
                fmt.Println("Выход")
                break
            }
    
            if char == 'q' || char == 'Q' {
                fmt.Println("Выход")
                break
            }
        }
    }



    Этот код открывает консоль и ждет нажатия стрелки влево, стрелки вправо или клавиши "Esc" для выхода. Когда нажата соответствующая клавиша, выводится соответствующее сообщение, и программа продолжает ожидать новых нажатий клавиш. Если нажата клавиша "q" или "Q", программа также завершается.

    На MacOS можно использовать пакет "github.com/nsf/termbox-go" для считывания нажатий клавиш с консоли, включая стрелки. Этот пакет предоставляет набор функций для работы с терминалом, включая считывание нажатых клавиш.

    Код

    package main
    
    import (
    	"fmt"
    	"log"
    	"os"
    
    	"github.com/nsf/termbox-go"
    )
    
    func main() {
    	err := termbox.Init()
    	if err != nil {
    		log.Fatal(err)
    	}
    	defer termbox.Close()
    
    	fmt.Println("Нажмите стрелку влево, стрелку вправо или Esc для выхода...")
    
    	for {
    		switch ev := termbox.PollEvent(); ev.Type {
    		case termbox.EventKey:
    			switch ev.Key {
    			case termbox.KeyArrowLeft:
    				fmt.Println("Стрелка влево нажата")
    			case termbox.KeyArrowRight:
    				fmt.Println("Стрелка вправо нажата")
    			case termbox.KeyEsc:
    				fmt.Println("Выход")
    				os.Exit(0)
    			}
    		}
    	}
    }



    Этот код использует пакет termbox-go для инициализации терминала и считывания событий клавиш. В цикле он ожидает нажатия стрелки влево, стрелки вправо или клавиши "Esc". Когда нажата соответствующая клавиша, выводится соответствующее сообщение. Если нажата клавиша "Esc", программа завершается с кодом выхода 0.
    Ответ написан
    2 комментария
  • Как прикрутить кнопки к методу sendGame в telegram bot API?

    Клавиатуру надо в json сериализовать
    https://core.telegram.org/bots/api#sendgame
    Ответ написан
    Комментировать
  • Как получить доступ к другому namespace из первого?

    @Glow_Fisch Автор вопроса
    Загрузчик там свой, самописный, composer нужен, чтобы подгрузить Zend DB.
    Расширил загрузчик приложения, дописав условие при котором нужно подключать внешний loader.
    Ответ написан
  • Как прикрепить домен к вебсайту, который работает на другом порту?

    Это простая конфигурация, но рабочая. Без проброса IP адреса и перенаправления WebSocket
    server {
      listen 80 default_server;
      server_name mysite.com;
    
      add_header Strict-Transport-Security 'max-age=31536000' always;
      add_header X-Content-Type-Options nosniff;
      add_header X-XSS-Protection "1; mode=block";
    
      location / {
        proxy_pass http://123.534.65.77:3000;
      }
    
    }
    Ответ написан
  • Как сделать failover nfs с единым SAN и GFS2?

    @Glow_Fisch Автор вопроса
    Решил проблему keepalived.
    Нужно было построить active/passive failover кластер с плавающим IP адресом. Keepalived подошел успешно. HeartBeat глючил и не соединялся с нодами.

    Общее хранилище СХД по FC.
    lvmlockd+dlm+sanlock
    ФС -> gfs2
    keepalived для резервирования IP адреса
    Ответ написан
  • Как сделать LDAP авторизацию на веб-ресурсах с двумя контроллерами домена?

    @Glow_Fisch Автор вопроса
    Разобрался!
    Для того, чтобы веб-приложение работало с несколькими доменами, необходимо настраивать доступ к глобальному каталогу по порту 3268.
    ldap://domain.ru:3128/
    Подробнее тут
    А также тут
    Ответ написан
    Комментировать
  • Почему меню не закрывается в boostrap?

    Google Chrome: bootstrap 4.4.1 - при нажатии на кнопку все открывается и закрывается. Опишите более подробнее проблему
    Ответ написан
    Комментировать
  • Как юридически оформить право на программный код?

    Кто-то когда-то совет дал "Запишите исходный код на диск и отправьте себе почтой. В случае чего - будет зарегистрированный юридический факт принадлежности ПО вам".
    А лучше подайте заявку на регистрацию интеллектуальной собственности.
    См. ГК РФ Статья 1262. Государственная регистрация программ для ЭВМ и баз данных
    Ответ написан
    Комментировать
  • Как начать на госзукупках?

    ГосЗакупки - в организации (государственной) выделяются деньги на прямые закупки и на закупки через торги. Прямые закупки - все ок, вы как фирма выставляете счет, передаете товар (услугу) и вам оплачивает фин.отдел. Если тендер - то вы выходите на торговую площадку и регистрируйтесь там (например, "Березка" - агрегатор торговли) и начинаете выкладывать информацию об услугах или товарах. Еще был какой-то замут с коммерческим предложением. С гос. учреждениями удобно - когда прямые закупки.
    А контракты ... в общем вам лучше заключить договор с парой тройкой гос. учреждений вашего города на обслуживание техники или еще что (не знаю какой у вас вид деятельности) и понемногу вам расскажут как все проходит и введут в курс дела.
    Ответ написан
    Комментировать
  • Как поменять пароль в phpmyadmin?

    Сначала меняете/создаете пользователя в MySQL - затем в файле config.inc.php отражаете изменения.
    В интерфейсе phpmyadmin есть вкладка "Учетные записи пользователей" - там вы тоже сможете поменять учетные данные.
    Ответ написан
    Комментировать
  • Как в коде картинки(jpg) спрятать текстовой файл?

    Прятать в картинке можно при помощи программы JHIDE ... также можно спрятать сообщение в аудио файлах. Например в спектрограмме звука, либо в альбоме mp3 файла...
    Источник
    Ответ написан
    Комментировать
  • Насколько легко взломать сайт на Wordpress?

    Посоветую вам статью о фрэймворке Zoom и о том, как проверить свой движок WordPress на уязвимости...
    Ответ написан
    Комментировать
  • Книги по компьютерной криминалистике?

    А я бы посоветовал такой ресурс как codeby.net.
    Во-первых, там очень много статей (по сравнению с иными ресурсами сети) по этичному хакингу.
    Во-вторых, форум на котором можно оперативно спросить обо всем, что интересно.
    В-третьих, материалы свежие и актуальные, постоянно пополняются.
    Вот, например, сборник статей по форензике codeby.net
    Ответ написан
    Комментировать