2014-02-04 5 views
2

Мне нужно использовать пароль для входа в MySQL DB. Но пароль хранится в алгоритме шифрования AES.Как расшифровать пароль AES в сценариях bash?

Логин будет:

AES_PASSWORD=2hhbdhbdhbdbh (the encrypted password in AES) 
mysql -uroot -p$(AES_PASSWORD) 

Как я дешифровать в скорлупе и использовать его? Просьба помочь, искать в других похожих запросах, не удалось найти что-либо, связанное с AES.

ответ

2

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

Но скажем, вы используете aes256 и знаете, что пароль «секретный». Вы можете сделать это:

DECODED=`echo $AES_PASSWORD | openssl enc -d -a -aes256 -pass pass:secret` 

А затем вызовите mysql вместо $ DECODED в качестве аргумента пароля.

Это может быть или не быть лучшим способом вызвать mysql, однако, поскольку пароль появляется в командной строке в виде обычного текста, когда кто-то смотрит на список процессов с помощью «ps».

+0

Таким образом, openssl является обязательным условием для этого. – kingsmasher1

+0

Я согласен, что это альтернативный вариант, но я думаю, что он в равной степени уязвим. Любой может использовать ключи БД и версию AES, чтобы взломать БД ;-) – kingsmasher1

+0

Да, для этого решения требуется openssl. Но это наиболее вероятное место, где вы найдете любую реализацию aes. Возможно, потребуется один из криптовых пакетов, и openssl довольно распространен в большинстве систем сейчас. Кроме, наверное, M $. –

Смежные вопросы