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

如何用PowerShell处理PEM公钥文件,转为带引号单行格式

PowerShell实现PEM公钥转指定单行格式

以下是完成格式转换的完整PowerShell代码,可将你的PEM公钥转换成目标的分段带引号单行格式:

$File = "C:\pathto\some.pem"
# 读取文件并合并为单个字符串,保留原始换行结构
$content = Get-Content $File -Raw
# 精准提取BEGIN和END标记之间的公钥内容
$pubKeyContent = [regex]::Match($content, '(?<=-----BEGIN PUBLIC KEY-----\r?\n)(.*?)(?=\r?\n-----END PUBLIC KEY-----)').Value
# 移除所有换行、空格等空白字符,得到连续的Base64字符串
$cleanedKey = $pubKeyContent -replace '\s+', ''
# 按要求拆分字符串并添加格式
$segments = @()
# 处理第一段,添加指定前缀
$firstSegment = "k=rsa; p=$($cleanedKey.Substring(0, 64))"
$segments += "`"$firstSegment`""
# 处理剩余内容,按64字符每段拆分
for ($i = 64; $i -lt $cleanedKey.Length; $i += 64) {
    $endIndex = [Math]::Min($i + 64, $cleanedKey.Length)
    $segments += "`"$($cleanedKey.Substring($i, $endIndex - $i))`""
}
# 拼接成单行结果
$result = $segments -join ' '
# 输出结果,也可使用 Out-File 将结果保存到文件
$result

代码说明:

  • 使用-Raw参数读取文件,确保内容作为单个字符串处理,简化正则匹配逻辑
  • 通过正向零宽断言的正则表达式,精准提取公钥核心内容,避免捕获多余标记行
  • 移除所有空白字符后,按照示例中的64字符分段规则拆分字符串
  • 为第一段添加指定前缀,所有分段用双引号包裹,最终用空格拼接成目标单行格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:04:53