Rijndael поддерживают в Java

Вы можете установить переменную среды FLASK_DEBUG=1 при запуске приложения в качестве службы.

Upstart (по умолчанию в Ubuntu 14.04)

# /etc/init/uwsgiapp.conf
env FLASK_DEBUG=1
script
  // upstart exec section
end script

Systemd (по умолчанию в Ubuntu 16.04). , Arch)

[Service]
Environment="FLASK_DEBUG=1"
# other parts

Supervisord

[program:flask]
environment=FLASK_DEBUG=1

Обычно журналы будут где-то в /var/log/.

15
задан nzpcmad 25 February 2009 в 19:14
поделиться

3 ответа

Java включает AES из поля. Rijndael является AES. Вам не нужны никакие внешние библиотеки. Вам просто нужно что-то вроде этого:

byte[] sessionKey = null; //Where you get this from is beyond the scope of this post
byte[] iv = null ; //Ditto
byte[] plaintext = null; //Whatever you want to encrypt/decrypt
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
//You can use ENCRYPT_MODE or DECRYPT_MODE
cipher.calling init(Cipher.ENCRYPT_MODE, new SecretKeySpec(sessionKey, "AES"), new IvParameterSpec(iv));
byte[] ciphertext = cipher.doFinal(plaintext);

И вот именно, для шифрования/дешифрования. При обработке больших объемов данных тогда, Вы - более обеспеченные блоки чтения, которые являются кратными числами 16 байтов и называющий обновление вместо doFinal (Вы просто называете doFinal на последнем блоке).

26
ответ дан 1 December 2019 в 01:31
поделиться

Для большой свободной библиотеки я настоятельно рекомендую BouncyCastle. Это активно сохраняется, высокое качество, и имеет хороший массив примеров кода. Для справочной документации необходимо будет положиться больше на генерала документы JCE.

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

В целом, я рекомендовал бы генерировать новый ключ для каждого сообщения, которое Вы шифруете с симметричным шифром как Rijndael и затем шифрованием что ключ с асимметричным алгоритмом как RSA. Эти закрытые ключи могут быть сохранены в защищенной паролем, основанной на программном обеспечении базе ключей как № 12 PKCS или "JKS" Java, или, для лучшей безопасности, на аппаратном ключе "смарт-карты" или другом crypto аппаратном модуле.

5
ответ дан 1 December 2019 в 01:31
поделиться

javax.crypto имеет поддержку AES: http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html

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

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

Однако вопрос очень неопределенен.

1
ответ дан 1 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: