Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Meu comando não funciona em partes

Bom dia, fiz o comando informado no aula 04 Usando objetos e classes dotNet, não apresenta erro, mas também não retonar nada e nem o hash que devia ser informado, poderia me ajudar a entender o porquê?

Segue o programa

function Get-fileSHA1($filePath) { $fileContent = Get-content $filePath $fileBytes = [System.Text.Encoding]::UTF8.GetBytes($fileContent)

$SHA1 = New-Object System.Security.Cryptography.SHA1Managed

$hash = $SHA1.ComputeHash($fileBytes)

$prettyHashSB = New-Object System.Text.StringBuilder foreach ($byte in $hash) { $hexaNotation = $byte.ToString("X2") $prettyHashSB.Append($hexaNotation) }

Write-Host $hash -BackgroundColor Red -ForegroundColor Yellow
2 respostas
solução!

Olá, Daniel!

Vamos dar uma olhada no seu script e ver o que pode estar faltando. Aparentemente, o script está quase completo, mas há um detalhe importante que pode estar causando o problema: o script não está retornando o hash formatado corretamente.

No final do seu script, você está usando Write-Host para exibir o hash, mas está exibindo a variável $hash que ainda está em formato de bytes. Você precisa exibir a string formatada que você está construindo com $prettyHashSB.

Aqui está uma versão corrigida do seu script:

function Get-fileSHA1($filePath) {
    $fileContent = Get-Content $filePath
    $fileBytes = [System.Text.Encoding]::UTF8.GetBytes($fileContent)
    
    $SHA1 = New-Object System.Security.Cryptography.SHA1Managed
    $hash = $SHA1.ComputeHash($fileBytes)
   
    $prettyHashSB = New-Object System.Text.StringBuilder
    foreach ($byte in $hash) {
        $hexaNotation = $byte.ToString("X2") 
        $prettyHashSB.Append($hexaNotation) 
    }
   
    # Exibir a string formatada do hash
    Write-Host $prettyHashSB.ToString() -BackgroundColor Red -ForegroundColor Yellow
}

# Exemplo de uso
Get-fileSHA1 "caminho/do/seu/arquivo.txt"

Neste script, a linha Write-Host $prettyHashSB.ToString() -BackgroundColor Red -ForegroundColor Yellow foi adicionada para exibir a string formatada do hash.

Bons estudos!

Boa tarde, agora funcionou, obrigado