Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Need some help confirming transactions using sha256

Reply
Thread Tools

Need some help confirming transactions using sha256

 
 
kryptox.exchange@gmail.com
Guest
Posts: n/a
 
      01-31-2013
I'm wondering if anyone can help me as I can't seem to get this to work. There is an online dice game that is provably fair by calculating the 'dice roll' using using a sha256 hash calculated against my transaction ID generated by me. The secret used to make the calculation is revealed at the end ofeach day thus allowing you to prove they didn't cheat. So they provide thefollowing to allow you to verify the calculation of the dice roll:

Secret used = r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsMs HmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA
Secret hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA) = 48d78d573b9b8e11a13a72d9a78011f2e5d9754d89de47b209 f32c51777f535d
Lucky hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA:108128 06653842663997bf5971637f86f26c71a4716276d7fa8f323a 83588d91:1) = dfa8769be81a543002865c88a5b52fa07f3b67fc7cd9b519c3 f6a6452bcd48e4

Lucky Number 0x48e4 = 18660


So, I'm doing the following:

C:\Python27>python
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib, hmac
>>> txid = 'r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsM sHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA'
>>> secret = '10812806653842663997bf5971637f86f26c71a4716276d7f a8f323a83588d91:1'
>>> for nout in range(10): print nout, int(hmac.new(secret, "%s:%d" % (txid, nout), hashlib.sha256).hexdigest()[:4], 16)

....
0 39800
1 4705
2 24058
3 11188
4 36307
5 781
6 62165
7 44612
8 17042
9 46099
>>>


idx 1 should equal 18660 but it doesn't. What am I doing wrong?


Secondly, I'm wondering if someone could help take it one step further. I would like to import a .txt file with a unique transaction ID on each line. So txid = transactions.txt or something like this. I would like it to getthe "lucky number" based on a static sha256 which I would supply and the script would output the result to a text file. I'd like the output to be foridx 1 only.

ie.
"txid here", "lucky number for idx 1"

Thanks for any help in advance!

Edit/Delete Message
 
Reply With Quote
 
 
 
 
kryptox.exchange@gmail.com
Guest
Posts: n/a
 
      01-31-2013
Ok, I'm still stuck!

I do however now think that I'm not supposed to use hmac here.
 
Reply With Quote
 
 
 
 
Peter Pearson
Guest
Posts: n/a
 
      01-31-2013
On Thu, 31 Jan 2013 08:43:03 -0800 (PST), http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:

> I'm wondering if anyone can help me as I can't seem to get
> this to work. There is an online dice game that is
> provably fair by calculating the 'dice roll' using using a
> sha256 hash calculated against my transaction ID generated
> by me. The secret used to make the calculation is revealed
> at the end of each day thus allowing you to prove they
> didn't cheat. So they provide the following to allow you
> to verify the calculation of the dice roll:
>
> Secret used = r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsMs HmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA
> Secret hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA) = 48d78d573b9b8e11a13a72d9a78011f2e5d9754d89de47b209 f32c51777f535d
> Lucky hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA:108128 06653842663997bf5971637f86f26c71a4716276d7fa8f323a 83588d91:1) = dfa8769be81a543002865c88a5b52fa07f3b67fc7cd9b519c3 f6a6452bcd48e4
>
> Lucky Number 0x48e4 = 18660
>
> So, I'm doing the following:
>
> C:\Python27>python
> Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import hashlib, hmac
>>>> txid = 'r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsM sHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA'
>>>> secret = '10812806653842663997bf5971637f86f26c71a4716276d7f a8f323a83588d91:1'

[snip]

>>> txid = 'r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsM sHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA'
>>> secret = '10812806653842663997bf5971637f86f26c71a4716276d7f a8f323a83588d91:1'
>>> hashlib.sha256(txid+":"+secret).hexdigest()

'dfa8769be81a543002865c88a5b52fa07f3b67fc7cd9b519c 3f6a6452bcd48e4'
>>> 0x48e4

18660
>>>


.. . . which is the number you wanted, right?


--
To email me, substitute nowhere->spamcop, invalid->net.
 
Reply With Quote
 
kryptox.exchange@gmail.com
Guest
Posts: n/a
 
      01-31-2013
On Thursday, January 31, 2013 6:55:05 PM UTC+1, Peter Pearson wrote:
> On Thu, 31 Jan 2013 08:43:03 -0800 (PST), (E-Mail Removed) wrote:
>
>
>
> > I'm wondering if anyone can help me as I can't seem to get

>
> > this to work. There is an online dice game that is

>
> > provably fair by calculating the 'dice roll' using using a

>
> > sha256 hash calculated against my transaction ID generated

>
> > by me. The secret used to make the calculation is revealed

>
> > at the end of each day thus allowing you to prove they

>
> > didn't cheat. So they provide the following to allow you

>
> > to verify the calculation of the dice roll:

>
> >

>
> > Secret used = r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsMs HmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA

>
> > Secret hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA) = 48d78d573b9b8e11a13a72d9a78011f2e5d9754d89de47b209 f32c51777f535d

>
> > Lucky hash sha256(r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAF Xz2vsMsHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA:108128 06653842663997bf5971637f86f26c71a4716276d7fa8f323a 83588d91:1) = dfa8769be81a543002865c88a5b52fa07f3b67fc7cd9b519c3 f6a6452bcd48e4

>
> >

>
> > Lucky Number 0x48e4 = 18660

>
> >

>
> > So, I'm doing the following:

>
> >

>
> > C:\Python27>python

>
> > Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32

>
> > Type "help", "copyright", "credits" or "license" for more information.

>
> >>>> import hashlib, hmac

>
> >>>> txid = 'r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsM sHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA'

>
> >>>> secret = '10812806653842663997bf5971637f86f26c71a4716276d7f a8f323a83588d91:1'

>
> [snip]
>
>
>
> >>> txid = 'r7A7clvs9waizF+6QEiI0tgAq1ar48JItK3kg9kaeAFXz2vsM sHmOd9r9fhkmtxTz3CQnGAPMaDeKLvgb1A2VA'

>
> >>> secret = '10812806653842663997bf5971637f86f26c71a4716276d7f a8f323a83588d91:1'

>
> >>> hashlib.sha256(txid+":"+secret).hexdigest()

>
> 'dfa8769be81a543002865c88a5b52fa07f3b67fc7cd9b519c 3f6a6452bcd48e4'
>
> >>> 0x48e4

>
> 18660
>
> >>>

>
>
>
> . . . which is the number you wanted, right?
>
>
>
>
>
> --
>
> To email me, substitute nowhere->spamcop, invalid->net.



Yes, thank you Peter!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
sha256 Himanshu Bharti C++ 2 02-27-2012 07:48 AM
Unsupported digest algorithm (sha256). yf kuanfai Ruby 9 01-27-2011 04:00 AM
using methods base64 module in conjunction with Crypto.Hash.SHA256 mirandacascade@yahoo.com Python 1 12-20-2006 08:53 PM
SHA256 C# vs FIPS 180 Ravi Singh (UCSD) ASP .Net Security 1 01-27-2005 02:31 AM
Asp.net SHA256 problem atakan ASP .Net Security 1 11-05-2003 01:38 PM



Advertisments