Я пытаюсь вызвать службу jira REST, используя PowerShell, следуя инструкциям здесь , где базовая c строка аутентификации username: пароль fred: fred приводит к ха sh ZnJlZDpmcmVk .
Мне не удалось воссоздать это значение с помощью сценария powershell ps1, и я ищу помощь.
Моя функция выплевывает "fred fred:", что, очевидно, приводит к другому ха sh - 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
}
Exection:
PS H:\> hash-64('fred','fred')
fred fred:
ZnJlZCBmcmVkOg==
Из оболочки:
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
Обратите внимание, что в оболочке строка верна И ха sh соответствует ожидаемому результату. Как вы можете заметить, в функции я использую приведение в качестве решения (не), и я пробовал различные приемы из других постов, но все безрезультатно.