在为base64基本身份验证令牌创建字符串时,Powershell中出现意外结果

问题描述 投票:0回答:1

我正在按照here的说明使用PowerShell调用jira REST服务,其中基本身份验证字符串用户名:fred:fred的密码会导致ZnJlZDpmcmVk的哈希。

我无法使用Powershell ps1脚本重新创建该值,正在寻求帮助。

我的函数吐出“ fred fred:”,这显然会导致不同的哈希值-ZnJlZCBmcmVkOg ==但是,直接在外壳中运行时,我的操作似乎可以正常工作。

我的功能:

function hash-64($user,$password){
    $u=[string]$user
    $p=[string]$password
    $all="${u}:${p}"
    write-host $all
    $base64AuthInfo = [convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($all))
    return $base64AuthInfo
}

执行:

PS H:\> hash-64('fred','fred')
fred fred:
ZnJlZCBmcmVkOg==

来自Shell:

PS H:\> $u='fred'
PS H:\> $p='fred'
PS H:\> $shell_all="${u}:${p}"
PS H:\> write-host $shell_all
fred:fred
PS H:\> $base64AuthInfo = [convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes($shell_all))
>>
PS H:\> $base64AuthInfo
ZnJlZDpmcmVk

在shell中注意字符串正确,并且哈希与预期结果匹配。正如您可能在功能中注意到的那样,我正在掌握将铸造作为一种解决方案(不是),并且我尝试了其他帖子中的各种技巧,但无济于事。

我正在按照此处的说明使用PowerShell调用jira REST服务,其中基本身份验证字符串username:fred:fred的密码会导致ZnJlZDpmcmVk的哈希。我还没去过...

powershell rest basic-authentication
1个回答
0
投票

我认为您正在将数组传递给hash-64。尝试使用hash-64 -user 'fred' -password 'fred'hash-64 'fred' 'fred'

© www.soinside.com 2019 - 2024. All rights reserved.