Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Výpočet SHA-1 pomocí PowerShellu
prosinec 18
Výpočet SHA-1 pomocí PowerShellu

Jak se v PowerShell vypočítá SHA-1 hash nějakého textového řetězce? Tu to je:

$name = 'zkusebni retezec'
$nameBytes = [System.Text.ASCIIEncoding]::ASCII.GetBytes($name)

$sha = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider
$hashBytes = $sha.ComputeHash($nameBytes)

# bytes array (20 bytes as SHA-1 is always 160bits)
$hashBytes

# the same in Base64
[Convert]::ToBase64String($hashBytes)

# the same in Hex
[BitConverter]::ToString($hashBytes)

A to je pro dnešek všechno :-)

Comments

Re: Výpočet SHA-1 pomocí PowerShellu

jo, pokud chcete SHA256, tak jenom nahraďte SHA1CryptoServiceProvider za SHA256CryptoServiceProvider.

Stejně tak, pokud bych potřeboval SHA384, tak se to jmenuje SHA384CryptoServiceProvider

A pro SHA512 je to SHA512CryptoServiceProvider. Jak jednoduché.
ondass on 18.12.2012 14:26

Re: Výpočet SHA-1 pomocí PowerShellu

a rovnou jsem ještě změřil rychlosti. Na mém stroji trvá výpočet 1 000 000 heší takto dlouho:

SHA-1: 11 sec.
SHA256: 13 sec.
SHA384: 17 sec.
SHA512: 18 sec.

Tak je pěkně vidět, že je zbytečné používat delší heše s jinak slabými algoritmy (viz. https://www.sevecek.com/Lists/Posts/Post.aspx?ID=145 )
ondass on 18.12.2012 14:44

Re: Výpočet SHA-1 pomocí PowerShellu

ondass on 13.1.2016 17:56

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments