You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Bash脚本从OpenSSL输出中提取RSA公钥模数?

从OpenSSL公钥文本输出中提取RSA模数的Shell方法

方法一:直接用OpenSSL内置参数提取(推荐)

无需解析格式化文本,OpenSSL原生支持直接导出模数,命令简洁且稳定性高:

openssl rsa -pubin -in key_rsa_pub_1024.pub -modulus -noout

输出为单行十六进制模数,示例:

Modulus=C5F34BC7A3C0237A0ED4F33E07064A1E7C9DED4D238F4B006FB CF3053B622E350078D2AF7F7AF0FEE3C037F6C3584F3491B791A1323ED528ABF75D5EE6BA1476B884D6452D48476853395455D370EFF89209787731D6EEE56F8E594DC2401F6D7B32C7B691C4759E95D6D7D93960F713D5954EFF4B7DDCE8FDB0A1255732F5FF

方法二:解析OpenSSL文本输出(awk实现)

如果必须处理-text参数的输出,可通过awk筛选并拼接模数内容:

openssl rsa -pubin -inform PEM -in key_rsa_pub_1024.pub -text | awk '
/Modulus:/ { flag=1; next }
/Exponent:/ { flag=0 }
flag { gsub(/^\s+|:|\n/, "", $0); printf "%s", $0 }
END { print "" }
'

该命令会跳过Modulus:和Exponent:行,将模数的多行十六进制内容拼接为单行,自动去除空格与冒号。

方法三:解析OpenSSL文本输出(sed+tr实现)

用sed筛选模数所在区间,再通过tr清理换行符与多余符号:

openssl rsa -pubin -inform PEM -in key_rsa_pub_1024.pub -text | sed -n '/Modulus:/,/Exponent:/{
    /Modulus:/!{
        /Exponent:/!s/^\s*//;s/://g;p
    }
}' | tr -d '\n'

内容的提问来源于stack exchange,提问作者basangouda46

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:33:34