Solved

SHA512 hash question

Posted on 2013-06-13
8
343 Views
Last Modified: 2013-06-14
Hi Experts, I am trying to hash some text to but not getting the same result as expected.

THis is my code

Public Function EncryptSHA512Managed(ByVal ClearString As String) As String
        Dim uEncode As New UnicodeEncoding()
        Dim bytClearString() As Byte = uEncode.GetBytes(ClearString)
        Dim sha As New  _
        System.Security.Cryptography.SHA512Managed()
        Dim hash() As Byte = sha.ComputeHash(bytClearString)
        Return Convert.ToBase64String(hash)
    End Function

Open in new window


The text I am hashing is

764553644921011000000http://www.westernmall.co.uk/test/response.aspxFF8F097D1DE0EFC14DE92F65085DED46A796BDFA900AAD1BE0E86ECE8F5B234052843A0754FE27F07E63A3649FD8121329FBAB4F0D7924557C59122BCD4BF13F

Open in new window


And I am expecting

148182038CB072F341FEDF2B9597B6CBF15A2EB01BD98CA6F890B0F60245281DA5AA970E141C2549C2DCA5626AD6E371920C4B72AA54AE98D48AFFA41C8E8798

Open in new window


But I am getting

XKpoFOELiceDiQQFXTnTixDQqTIl/X32nZdb+lp68fSqUK7CeW83kIj89/QOAWW7m+bYnAzceaCnCr5I7rkzDA==

Open in new window


What could I be doing wrong?
0
Comment
Question by:takwirirar
  • 6
  • 2
8 Comments
 
LVL 1

Author Comment

by:takwirirar
ID: 39244562
Ok just checked again and I need to return a HEX
0
 
LVL 42

Accepted Solution

by:
sedgwick earned 500 total points
ID: 39244591
to convert byte array to hex u can use this:
var hex = BitConverter.ToString(byteArray).Replace("-","");

Open in new window

or
StringBuilder sb = new StringBuilder(ba.Length * 2);
foreach (byte b in ba)
{
       sb.AppendFormat("{0:x2}", b)
}

var hex = sb.ToString();

Open in new window

0
 
LVL 1

Author Comment

by:takwirirar
ID: 39244605
This is the new code but I am now getting

    Protected Sub Button4_Click(sender As Object, e As System.EventArgs) Handles Button4.Click
        EncryptSHA512Managed("764553644921011000000http://www.westernmall.co.uk/test/response.aspxFF8F097D1DE0EFC14DE92F65085DED46A796BDFA900AAD1BE0E86ECE8F5B234052843A0754FE27F07E63A3649FD8121329FBAB4F0D7924557C59122BCD4BF13F")
    End Sub
    Public Function EncryptSHA512Managed(ByVal ClearString As String) As String
        Dim uEncode As New UnicodeEncoding()
        Dim bytClearString() As Byte = uEncode.GetBytes(ClearString)
        Dim sha As New  _
        System.Security.Cryptography.SHA512Managed()
        Dim hash() As Byte = sha.ComputeHash(bytClearString)
        Dim hex = BitConverter.ToString(hash).Replace("-", "")
        Response.Write(hex)
    End Function

Open in new window


5CAA6814E10B89C7838904055D39D38B10D0A93225FD7DF69D975BFA5A7AF1F4AA50AEC2796F379088FCF7F40E0165BB9BE6D89C0CDC79A0A70ABE48EEB9330C

Open in new window

0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39244626
try this:
    Protected Sub Button4_Click(sender As Object, e As System.EventArgs) Handles Button4.Click
        EncryptSHA512Managed("764553644921011000000http://www.westernmall.co.uk/test/response.aspxFF8F097D1DE0EFC14DE92F65085DED46A796BDFA900AAD1BE0E86ECE8F5B234052843A0754FE27F07E63A3649FD8121329FBAB4F0D7924557C59122BCD4BF13F")
    End Sub

    Public Function EncryptSHA512Managed(ByVal ClearString As String) As String
        Dim bytClearString() As Byte = GetBytes(ClearString)
        Dim sha As New  _
        System.Security.Cryptography.SHA512Managed()
        Dim hash() As Byte = sha.ComputeHash(bytClearString)
        Dim hex = BitConverter.ToString(hash).Replace("-", "")
        Response.Write(hex)
    End Function

Private Function GetBytes(str As String) As Byte()
	Dim bytes As Byte() = New Byte(str.Length * 2 - 1) {}
	System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length)
	Return bytes
End Function

Open in new window

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 1

Author Comment

by:takwirirar
ID: 39245081
That brings out the same result starting with 5C...
0
 
LVL 1

Author Comment

by:takwirirar
ID: 39247278
I found a site that converts the text fine. What could be the difference?
0
 
LVL 1

Author Comment

by:takwirirar
ID: 39247284
Ok I have sussed it. I had to convert the byte to be hashed to UTF8 first

Dim bytClearString() As Byte = Encoding.UTF8.GetBytes((ClearString))

Open in new window

0
 
LVL 1

Author Closing Comment

by:takwirirar
ID: 39247287
Thanks to sedgwick!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
IIS URL Rewrite to do 2 actions: Set a ServerVariable, then redirect 3 63
How can I use this extension method? 8 47
Adjust the position 3 47
Error on Add method 1 37
Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Concerto provides fully managed cloud services and the expertise to provide an easy and reliable route to the cloud. Our best-in-class solutions help you address the toughest IT challenges, find new efficiencies and deliver the best application expe…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now