0

我想对来自我之前代码行的输入的“二进制哈希字符串”值进行 Base64 URL 安全编码,以使其适合 HTTP 请求,即 final_hash = base64_url_safe_encode(binary_hash_str)。我可以在哪里使用最终的哈希密码在 powershell 中进行身份验证。我无法在 powershell 中找到任何代码。

4

1 回答 1

1

在 PowerShell 中将字节数组转换为 base64 可以通过以下方式完成[Convert]::ToBase64String()

$binString = [System.Text.Encoding]::UTF8.GetBytes("Secret string")
$base64String = [Convert]::ToBase64String($binString)

如果您想将生成的 base64 字符串用作请求负载的一部分(例如,请求头或请求正文的一部分),您可以继续使用它:

Invoke-WebRequest $uri -Header @{ Authorization = "Basic ${base64String}"}

如果您需要在 url 本身中将其作为查询参数传递,请使用以下命令对其进行转义[uri]::EscapeDataString()

$URI = 'https://domain.tld/path?param={0}' -f [uri]::EscapeDataString($base64String)
Invoke-WebRequest $URI
于 2021-10-20T12:32:11.340 回答