The following is an example, written in Visual Basic, of how to compute the SHA-256 hash for the data string "myPassword"...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
and display it in a label called Label1:
Public Class Form1
Private Function ComputeSHA256Hash(ByVal Password As String) As String
' Convert Password into a byte array.
Dim passwordBytes As Byte()
passwordBytes = Encoding.UTF8.GetBytes(Password)
' Initialize the SHA256 hashing algorithm class
Dim shaM As New SHA256Managed()
' Compute hash value of the password.
Dim hashBytes As Byte()
hashBytes = shaM.ComputeHash(passwordBytes)
' Convert hash into a base64-encoded string.
ComputeSHA256Hash = Convert.ToBase64String(hashBytes)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = ComputeSHA256Hash("myPassword")End Sub
The ComputeSHA256Hash function uses the .NET Framework Class Library System.Security.Cryptography class. It takes the string Password and turns it into a byte-array. It then runs those bytes through the SHA256Managed computation function provided by the class and returns a 44-bit string of the hash that's created. It finally displays via Labe1.Text. The hash for myPassword using this program is dlSbgn7EbnBf0DgxgT+lIXIzjw38vXEe1EuBqW2sUcY=. If you change the input to mzPassword, so just one character different, the hash changes to something completely different - XkdNLN2VuBgcMjhI/Dg0ioj4Eds6FLDF3lRlBxt+I4U=.
For security reasons, if you are using hash values to store passwords, you may well want to use a salt, as this makes a hashed-password less immune to dictionary attacks. Not only would the hacker have to develop a hash for every commonly known password, but also for every commonly known password multiplied by the nearly infinite number of possible salts.
Dig Deeper on Disk Encryption and File Encryption
Related Q&A from Michael Cobb
A privacy breach at ClixSense led to user account details being put up for sale. Expert Michael Cobb explains how companies should be held ...continue reading
A password-verification flaw in iOS 10 allowed attackers to decrypt local backups. Expert Michael Cobb explains how removing certain security checks ...continue reading
HTTP public key pinning, a security mechanism to prevent fraudulent certificates, was not used by Firefox, and left it open to attack. Expert Michael...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.