如何仅使用 openssl 命令获取密钥?

How to get key only with openssl command?

如何仅使用下面的 openssl 命令检索键值?

$ openssl enc -aes-128-cbc -k secret -P -md sha1

输出:

salt=9EFF5E41E21EA17F
key=D0F15A0E51C29FA9E7AC1B63DC4585D3
iv =F0090A64ADB51DE25A28151B0C55DAEA

谢谢!

在管道中使用 grepsed:

$ openssl enc -aes-128-cbc -k secret -P -md sha1 | grep key | sed 's/.*=//'

grep命令过滤掉没有“key”的行。 sed 命令将从开始到 = 之间的所有字符替换为空字符(删除它们)。

使用 -nosalt 选项禁止在密钥推导中使用盐。但考虑到 推荐。请注意,这种密钥派生方法也是 推荐的,尤其是 sha1.

无论如何,awk:

$ openssl enc -aes-128-cbc -nosalt -k secret -P -md sha1 |
  awk -F= ' == "key" {print }'
2BB80D537B1DA3E38BD30361AA855686