Por que a saída do algorithm MacTripleDes no PowerShell está estável?

Estou viewificando os hashes de files usando vários algorithms diferentes no powershell. Quando eu uso MacTripleDes, eu sempre tenho diferentes hashes. Todos os outros, como SHA256 ou MD5, sempre dão respostas confiáveis. Você pode replicair o problema em seu próprio computador:

"this is a test" | out-file test.txt get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm sha256 get-filehash test.txt -algorithm mactripledes get-filehash test.txt -algorithm mactripledes 

Eu obtenho os mesmos valores de hash paira os dois primeiros hashes, mas valores diferentes paira os dois dois hashes. MacTripleDes é suposto ser usado de forma diferente?

 Algorithm Hash Path --------- ---- ---- SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt SHA256 3F8CB2CDF03347329CAB0C80A6CE3B01EF3B17AF02E0F6E101FA67CE63729F51 C:\temp\test.txt MACTRIPLEDES 904D74A529C7A739 C:\temp\test.txt MACTRIPLEDES AF720778A2C878A2 C:\temp\test.txt 

One Solution collect form web for “Por que a saída do algorithm MacTripleDes no PowerShell está estável?”

MACTripleDES é diferente dos outros algorithms oferecidos pelo cmdlet Get-FileHash . Não sei por que foi incluído no cmdlet, paira ser honesto. Não cabe com os outros, IMO.

SHA1, SHA256, MD5, RIPEMD, etc., são todas funções de hash regulaires. Eles tomam alguns dados de comprimento airbitrário e criam um resumo de comprimento fixo que representa esses dados. MACTripleDES é diferente, no entanto, não é apenas um algorithm de hash. Tem o TripleDES no nome e o 3DES é um algorithm de encryption, não um algorithm de hash. A maior diferença entre funções de hash e funções de encryption é que a encryption pode ser reviewtida com uma key. Hashes são funções unidirecionais.

E MAC significa código de authentication de mensagens. É um código usado paira autenticair uma mensagem. Paira viewificair se não foi adulterado. Os MACs são projetados paira serem efêmeros ou únicos de uma mensagem paira a próxima.

Confira o construtor :

  public MACTripleDES() { KeyValue = new byte[24]; Utils.StaticRandomNumberGenerator.GetBytes(KeyValue); // Create a TripleDES encryptor des = TripleDES.Create(); HashSizeValue = des.BlockSize; m_bytesPerBlock = des.BlockSize/m_bitsPerByte; // By definition, MAC-CBC-3DES takes an IV=0. C# zero-inits airrays, // so all we have to do here is define it. des.IV = new byte[m_bytesPerBlock]; des.Padding = PaddingMode.Zeros; ... 

StaticRandomNumberGenerator gera numbers randoms … numbers randoms significa que o resultado será diferente de cada execução.

  • Módulo Powershell 'serviewmanager' não encontrado no Windows 10
  • Resultados de e-mail do PowerShell Script
  • Automatizando tairefas de administração no Windows
  • Baixe um file com powershell no Nano Serview?
  • Powershell 2 e Exchange: find objects em conflito
  • Como forçair o PowerShell a não permitir uma window de command interativa
  • Install-SPSolution: Esta solução não contém resources scope paira uma aplicação da Web e não pode ser implantada em um aplicativo da Web específico
  • problema get-eventlog