referenced by article at
http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.htmli have created python code :
import hashlib
import txnUtils
import keyUtils
tx = "01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000"
m = txnUtils.parseTxn(tx)
e = txnUtils.getSignableTxn(m)
z = hashlib.sha256(hashlib.sha256(e.decode('hex')).digest()).digest()
z1 = z[::-1].encode('hex_codec')
z = z.encode('hex_codec')
s = keyUtils.derSigToHexSig(m[1][:-2])
pub = m[2]
print 'Signed TX is :', tx
print 'Signature (r, s pair) is :', s
print 'Public Key is :', pub
print ""
print "##################"
print ""
print 'Unsigned TX is :', e
print 'hash of message (z value) is :', z
print 'reversed z :', z1
resulting
Signed TX is : 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000
Signature (r, s pair) is : 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae98a032016f639b73 0779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
Public Key is : 04ef09f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985 aefb919e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0
##################
Unsigned TX is : 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0001976a914d93d248443eb1d3745891a76c0fa8a8bc86d4a3d88acffffffff01a7730100000000 001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488ac0000000001000000
hash of message (z value) is : 1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250
reversed z : 5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
are this valid result for my tx?
if yes, what is must i use to validate signature? the reversed z or not?
SOLVED!!!!!!!! SOLVED!!!!!!!! SOLVED!!!!!!!! SOLVED!!!!!!!! SOLVED!!!!!!!! SOLVED!!!!!!!!
# r, s pair from signed transaction
# original z
z1 = 0x1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250
# reversed z
z2 = 0x5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
r = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
# signature verification
u = mod(s^-1, n)
v1 = mod((z1 * u), n)
v2 = mod((z2 * u), n)
w = mod((r * u), n)
v1 = int(v1)
v2 = int(v2)
w = int(w)
C1 = v1*G + w*Qa
C2 = v2*G + w*Qa
print 'original z', C1.xy
print 'reversed z', C2.xy
print 'r value from tx', r
result
original z 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
reversed z e60c42c8b407e7b924ceb8ea6af9602b7f62bd7894dd9694d5fede992f4d42f4
r value from tx 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
so the right z value is unreversed order.....