<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hashing on Nerdsid.com</title><link>https://nerdsid.com/tags/hashing/</link><description>Recent content in Hashing on Nerdsid.com</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 25 Oct 2022 00:00:00 +0530</lastBuildDate><atom:link href="https://nerdsid.com/tags/hashing/index.xml" rel="self" type="application/rss+xml"/><item><title>Powershell - Get Hashes of All Files in a Directory</title><link>https://nerdsid.com/posts/powershell-get-hashes-of-all-files-in-a-directory/</link><pubDate>Tue, 25 Oct 2022 00:00:00 +0530</pubDate><guid>https://nerdsid.com/posts/powershell-get-hashes-of-all-files-in-a-directory/</guid><description>&lt;h2 id="code">Code&lt;/h2>






&lt;div class="codeblock">
 &lt;div class="codeblock__header">
 &lt;div class="codeblock__filename codeblock__filename--lang">
 
 POWERSHELL
 
 &lt;/div>
 &lt;div class="codeblock__actions">
 
 &lt;/div>
 &lt;/div>
 &lt;div class="codeblock__body">
 &lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="k">param&lt;/span> &lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$folders&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="vm">@&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;D:\hash\&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c">#case sensitive&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$allFiles&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="k">foreach&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$folder&lt;/span> &lt;span class="k">in&lt;/span> &lt;span class="nv">$folders&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Get-Childitem&lt;/span> &lt;span class="n">-path&lt;/span> &lt;span class="nv">$folder&lt;/span> &lt;span class="n">-recurse&lt;/span> &lt;span class="p">|&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">Select-Object&lt;/span> &lt;span class="n">FullName&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">Name&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">Length&lt;/span> &lt;span class="p">|&lt;/span> 
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">ForEach-Object&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$hash_SHA384&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-FileHash&lt;/span> &lt;span class="n">-Algorithm&lt;/span> &lt;span class="n">SHA384&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FullName&lt;/span> &lt;span class="c"># compute sha384 hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$hash_SHA256&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-FileHash&lt;/span> &lt;span class="n">-Algorithm&lt;/span> &lt;span class="n">SHA256&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FullName&lt;/span> &lt;span class="c"># compute sha256 hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">$hash_MD5&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-FileHash&lt;/span> &lt;span class="n">-Algorithm&lt;/span> &lt;span class="n">MD5&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FullName&lt;/span> &lt;span class="c"># compute md5 hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">add-member&lt;/span> &lt;span class="n">-InputObject&lt;/span> &lt;span class="nv">$_&lt;/span> &lt;span class="n">-NotePropertyName&lt;/span> &lt;span class="n">SHA384&lt;/span> &lt;span class="n">-NotePropertyValue&lt;/span> &lt;span class="nv">$hash_SHA384&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">add-member&lt;/span> &lt;span class="n">-InputObject&lt;/span> &lt;span class="nv">$_&lt;/span> &lt;span class="n">-NotePropertyName&lt;/span> &lt;span class="n">SHA256&lt;/span> &lt;span class="n">-NotePropertyValue&lt;/span> &lt;span class="nv">$hash_SHA256&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">add-member&lt;/span> &lt;span class="n">-InputObject&lt;/span> &lt;span class="nv">$_&lt;/span> &lt;span class="n">-NotePropertyName&lt;/span> &lt;span class="n">MD5&lt;/span> &lt;span class="n">-NotePropertyValue&lt;/span> &lt;span class="nv">$hash_MD5&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Hash&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">add-member&lt;/span> &lt;span class="n">-InputObject&lt;/span> &lt;span class="nv">$_&lt;/span> &lt;span class="n">-NotePropertyName&lt;/span> &lt;span class="n">File&lt;/span> &lt;span class="n">-NotePropertyValue&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FullName&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Replace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">$folder&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">-PassThru&lt;/span> 
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
 &lt;/div>
&lt;/div>&lt;h2 id="description-in-3-lines">Description in 3 lines&lt;/h2>
&lt;p>The above code does the following:&lt;/p>
&lt;ol>
&lt;li>For each folder in the variable &lt;code>$folders&lt;/code>, get all files and folders in that folder and its subfolders.&lt;/li>
&lt;li>For each file, compute its SHA384, SHA256 and MD5 hashes.&lt;/li>
&lt;li>Output the results to a file called process.txt&lt;/li>
&lt;/ol>
&lt;h2 id="description-in-10-lines">Description in 10 lines&lt;/h2>
&lt;p>Here is a short explanation for the above code:&lt;/p></description></item></channel></rss>