Создать собственный ключ из байтового массива очень просто:
byte[] raw = ...; // 32 bytes in size for a 256 bit key
Key skey = new javax.crypto.spec.SecretKeySpec(raw, "AES");
Но создания 256-битного ключа недостаточно. Если генератор ключей не может сгенерировать для вас 256-битные ключи, то класс Cipher
, вероятно, также не поддерживает 256-битную AES. Вы говорите, что у вас установлено исправление неограниченной юрисдикции, поэтому должен поддерживаться шифр AES-256 (но тогда должны быть и 256-битные ключи, так что это может быть проблемой конфигурации).
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skey);
byte[] encrypted = cipher.doFinal(plainText.getBytes());
Обходной путь для отсутствия поддержки AES-256 заключается в том, чтобы взять некоторую свободно доступную реализацию AES-256 и использовать ее в качестве пользовательского поставщика. Это включает в себя создание собственного Provider
подкласса и использование его с Cipher.getInstance(String, Provider)
. Но это может быть сложным процессом.
Невозможно сделать это без фактического входа в систему. Метод для этого заключается в пакете pam_motd
(он уже будет установлен в вашей системе).
При входе на сервер Ubuntu вы, возможно, заметили информативное сообщение дня (MOTD). Эта информация получается и отображается с использованием пары пакетов:
pam_motd
выполняет сценарии в /etc/update-motd.d
в порядке, основанном на числе, добавленном к сценарию. Выходные данные сценариев записываются в /var/run/motd
, сохраняя числовой порядок, а затем объединяются с /etc/motd.tail
.
Создайте /usr/local/bin/whoisloggedin
, простой скрипт оболочки, чтобы показать who
:
#!/bin/sh
#
#
# Prints who is logged in for the MOTD.
#
#
echo
who
echo
Сделайте скрипт исполняемым:
sudo chmod 755 /usr/local/bin/whoisloggedin
Далее, создайте символическую ссылку на /etc/update-motd.d/98-whoisloggedin
:
sudo ln -s /usr/local/bin/whoisloggedin /etc/update-motd.d/98-whoisloggedin
Наконец, выйдите из сервера и повторно войдите в систему, чтобы просмотреть новое MOTD.