Your Digital Media Has Never Looked So Good

 
wshirley
Topic Author
Posts: 7
Joined: Tue Jul 16, 2019 8:13 am

Computing sha256 hash on an empty string

Tue Jul 30, 2019 7:39 am

I'm trying to connect to an Amazon S3 bucket using a "Get" command.  The Get has no payload, so Amazon requires a header with a SHA256 hash on an empty string.  I've tried the following code (and several variations on the theme), but I always get an empty value instead of the hash value, which should be "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855".
This is the code I'm using:
ba = CreateObject("roByteArray")
ba.FromAsciiString("")
digest = CreateObject("roEVPDigest")
digest.Setup("sha256")
Hash = digest.Process(ba)

Is there a way to return the hash of an empty string, or must I simply hard code the Amazon provided value into the header?
 
destruk
Posts: 2719
Joined: Sat Dec 18, 2010 4:58 pm

Re: Computing sha256 hash on an empty string

Tue Jul 30, 2019 12:31 pm

If it's always going to require the hash of an empty string, then the value will always be the same, so what real difference does it make for you if you simply hardcode it?
 
wshirley
Topic Author
Posts: 7
Joined: Tue Jul 16, 2019 8:13 am

Re: Computing sha256 hash on an empty string

Tue Jul 30, 2019 2:27 pm

Not a huge difference.

Trying to maintain better programming practice and hard coding numbers in my view generally is not good practice.

I would rather have a generic function that I can pass any value to, but I suppose I can hardcode it there.  Thx.
 
destruk
Posts: 2719
Joined: Sat Dec 18, 2010 4:58 pm

Re: Computing sha256 hash on an empty string

Thu Aug 01, 2019 3:24 pm

You can still have a generic function to pass a value to.  Something like
Function ComputeHash(input As String) As String
If input<>""
ba = CreateObject("roByteArray")
ba.FromAsciiString(input)
digest = CreateObject("roEVPDigest")
digest.Setup("sha256")
Result = digest.Process(ba)
Else

Result=hardcoded_value
End If
Return Result
End Function

Who is online

Users browsing this forum: No registered users and 8 guests