Расшифровка AES в Java занимает слишком много времени - PullRequest
0 голосов
/ 17 мая 2018

У меня есть фрагмент кода Java в API, который использует AES и 256-битную фразу-пароль для расшифровки строки. После расшифровки он используется в качестве пароля для подключения к базе данных.

Этот API развернут на Tomcat в Red Hat Linux. Проблема в том, что процесс расшифровки занимает слишком много времени (около 15 минут) для большинства запросов. 1 из 5 запросов является мгновенным. Я нигде не храню расшифрованный ключ. Есть идеи, почему некоторые запросы занимают много времени, а другие - несколько миллисекунд?

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

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

В tomcat был зависший поток, который вызывал проблему.Я перезапустил службу Tomcat, и теперь все в порядке.

Спасибо всем за ваши предложения.

0 голосов
/ 17 мая 2018

Это может быть связано с недостаточной энтропией , попробуйте использовать это системное свойство: -Djava.security.egd=file:/dev/./urandom

Как объяснено в redhat bug 118921 , эта команда должна показатьесли у вас есть проблема энтропии (она будет зависать):

dd if=/dev/random of=testfile bs=1 count=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...