HS-HASH 1.1.1

Install-Package HS-HASH -Version 1.1.1
dotnet add package HS-HASH --version 1.1.1
<PackageReference Include="HS-HASH" Version="1.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HS-HASH --version 1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HS-HASH, 1.1.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install HS-HASH as a Cake Addin
#addin nuget:?package=HS-HASH&version=1.1.1

// Install HS-HASH as a Cake Tool
#tool nuget:?package=HS-HASH&version=1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

HASH Hash1 = new HASH();

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        // Hash options
        // string hash = Hash1.Get_MD5_Hash(tbStringToHash.Text);
        // string hash = Hash1.Get_SHA1_Hash(tbStringToHash.Text);
        // string hash = Hash1.Get_SHA256_Hash(tbStringToHash.Text);
        // string hash = Hash1.Get_SHA384_Hash(tbStringToHash.Text);
        string hash = Hash1.Get_SHA512_Hash(tbStringToHash.Text);
        tbHash.Text = hash;
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        // Verify hash options
        // Hash1.Verify_MD5_Hash(tbStringToHash.Text, tbHash.Text)
        // Hash1.Verify_SHA1_Hash(tbStringToHash.Text, tbHash.Text)
        // Hash1.Verify_SHA256_Hash(tbStringToHash.Text, tbHash.Text)
        // Hash1.Verify_SHA384_Hash(tbStringToHash.Text, tbHash.Text)
        // Hash1.Verify_SHA512_Hash(tbStringToHash.Text, tbHash.Text)

        // Verify the hash
        if (Hash1.Verify_SHA512_Hash(tbStringToHash.Text, tbHash.Text) == true)
        {
            MessageBox.Show("Good Password");
        }
        else
        {
            MessageBox.Show("Bad Password");
        }
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        //Hash1.UseLowercaseHash = true;
        //Hash1.RemoveSalt = true;
        //Hash1.AddSpaceToHex = true;
    }

    private void cbSalt_Click(object sender, RoutedEventArgs e)
    {
        if (cbSalt.IsChecked == true)
        {
            Hash1.RemoveSalt = true;
        }
        else
        {
            Hash1.RemoveSalt = false;
        }
    }

    private void btnKeyGen_Click(object sender, RoutedEventArgs e)
    {
        //Generate a random cryptographic key using the RNGCryptoServiceProvider
        tbHash.Text = Hash1.GenerateRandomCryptographicKey();

        //Use this to generate a random string using Random rnd = new Random(). NOTE: It is not recommended to use this for passwords.
        //Hash1.RND_Characters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.!-_|#*";
        //tbStringToHash.Text = Hash1.GenerateRandomString();
    }

    private void btnhex_Click(object sender, RoutedEventArgs e)
    {
        tbHash.Text = Hash1.EncodeHexString(tbStringToHash.Text);
    }

    private void btnDecodeHex_Click(object sender, RoutedEventArgs e)
    {
        tbHash.Text = Hash1.DecodeHexString(tbHash.Text);
    }

    private void btnStringToBinary_Click(object sender, RoutedEventArgs e)
    {
        tbHash.Text = Hash1.StringToBinary(tbStringToHash.Text);
    }

    private void btnBinaryToString_Click(object sender, RoutedEventArgs e)
    {
        tbHash.Text = Hash1.BinaryToString(tbHash.Text);
    }

    private void Button_Click_2(object sender, RoutedEventArgs e)
    {
        tbHash.Text = Hash1.GeneratorSoftwareKey(tbStringToHash.Text);
    }

    private void Button_Click_3(object sender, RoutedEventArgs e)
    {
        // Verify the hash
        if (Hash1.VerifySoftwareKey(tbStringToHash.Text, tbHash.Text) == true)
        {
            MessageBox.Show("Good Software Key");
        }
        else
        {
            MessageBox.Show("Bad Software Key");
        }
    }

    byte[] encrypted;
    private void btnEncrypt_Click(object sender, RoutedEventArgs e)
    {
        using (AesCryptoServiceProvider myAes = new AesCryptoServiceProvider())
        {
            // Encrypt the string to an array of bytes.
            encrypted = Hash1.EncryptStringToBytes_Aes(tbStringToHash.Text, myAes.Key, myAes.IV);
            tbHash.Text = "Encrypted: " + Encoding.UTF8.GetString(encrypted);

            // Decrypt the bytes to a string.
            string roundtrip = Hash1.DecryptStringFromBytes_Aes(encrypted, myAes.Key, myAes.IV);
            tbHash.Text += "\rRoundtrip: " + roundtrip;
        }
    }

    private void btnRijndaelEncrypt_Click(object sender, RoutedEventArgs e)
    {
        using (AesCryptoServiceProvider myAes = new AesCryptoServiceProvider())
        {
            // Encrypt the string to an array of bytes.
            encrypted = Hash1.RijndaelEncryptStringToBytes(tbStringToHash.Text, myAes.Key, myAes.IV);
            tbHash.Text = "Encrypted: " + Encoding.UTF8.GetString(encrypted);

            // Decrypt the bytes to a string.
            string roundtrip = Hash1.RijndaelDecryptStringFromBytes(encrypted, myAes.Key, myAes.IV);
            tbHash.Text += "\rRoundtrip: " + roundtrip;
        }
    }
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.1 358 9/27/2020
1.1.0 342 9/19/2020
1.0.9 258 2/29/2020
1.0.8 295 12/16/2019
1.0.7 294 12/14/2019
1.0.6 241 10/18/2019
1.0.5 225 10/12/2019
1.0.4 244 10/6/2019
1.0.3 227 9/30/2019
1.0.2 247 9/28/2019
1.0.1 240 9/22/2019
1.0.0 236 9/21/2019

1. Added Create Random Salt.
2. Added option to clear the bytes in a buffer so they can't later be read from memory.