Я пытаюсь подключиться к веб-сервису, используя 64-битный пароль SHA1, но я не уверен, как его кодировать в powershell.
Я пытался использовать: PS C: \ Program Files (x86) \ PowerGUI> $ password = "пароль здесь не показан"
PS C:\Program Files (x86)\PowerGUI> $bytes = System.Text.Encoding]::Unicode.GetBytes($password)
PS C:\Program Files (x86)\PowerGUI> $encodedString = [Convert]::ToBase64CharArray($bytes)
Но я получил это обратно:
Не удается найти перегрузку для "ToBase64CharArray" и счетчика аргументов: "1».1 строкановинка с powershell, так что это может даже не быть правильным кодом для использования.Я пытался изменить пример, который нашел в Интернете.
Есть идеи, как сделать это только в powershell, используя шифрование SHA1 и base64?
Хорошо, этоработает для кодирования, спасибо Джонатану за эту часть:
$str = "pwd"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($str)
$encodedStr = [Convert]::ToBase64String($bytes)
# and the result:
Write-Host $encodedStr
cAB3AGQA
Я заметил, что вызов функции :: чувствителен к пробелам.Это работает для шифрования.
$Sha1provider = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider
$hashBytes = $Sha1provider.ComputeHash($bytes)
Write-Host $hashBytes
114 168 243 129 97 21 246 249 22 4 38 215 241 185 174 86 116 201 7 7