我需要使用密码登录 MySQL DB。但密码是以AES加密算法存储的。
登录名将是:
AES_PASSWORD=2hhbdhbdhbdbh (the encrypted password in AES)
mysql -uroot -p$(AES_PASSWORD)
Run Code Online (Sandbox Code Playgroud)
如何在 shell 中解密并使用它?我搜索了其他类似的查询,但找不到任何与 AES 相关的内容。
您需要了解的不仅仅是密码的 AES 字符串。例如,您需要知道它是使用哪种 AES 加密的,以及用于加密它的密钥或密码。
但假设您使用的是 aes256 并且知道密码是“秘密”。你可以这样做:
DECODED=`echo $AES_PASSWORD | openssl enc -d -a -aes256 -pass pass:secret`
Run Code Online (Sandbox Code Playgroud)
然后使用 $DECODED 作为密码参数调用 mysql。
然而,这可能是也可能不是调用 mysql 的最佳方式,因为当有人用“ps”查看进程列表时,密码会以纯文本形式出现在命令行上。