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!!!!!!!!
Thanks for Helping!!!
result using sagemath
# 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.....
On Sage
sage: z1 = 0x1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250
....: # reversed z
....: z2 = 0x5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
....: r = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
....: s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
sage: z1,z2,r,s
(14207160553654906457113099380593985204600135536738631752470667280160699679312,
36416065527363981853628717802776892990854394297861295478977943850245690976287,
29442697728956296542311004268336318878597177875090576742337266702701850303209,
62424695120617587288165187377591215075902005576684621382959932687707740772139)
sage: Qa = HextoEcPoint('04ef09f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb919e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0')
....:
....: Qa
....:
(108120372700144615842465613175773387345047988943495332944694202925907704070776 : 13884982525186054080255389214056092837620421995767594075348866730083951259088 : 1)
sage: C1 = v1*G + w*Qa
....: C2 = v2*G + w*Qa
....:
....: C1,C2
....:
((29442697728956296542311004268336318878597177875090576742337266702701850303209 : 39575070599205356040071367793723994727764504173446298450629795094474072377088 : 1),
(104053618265136296043327654127333115160303495954630730082644808997077395522292 : 57482534428366220729169687101157126338370453120855347512044372482707815545537 : 1))
sage: hex(C1[0])[2:]
'4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9'
sage: hex(C2[0])[2:]
'e60c42c8b407e7b924ceb8ea6af9602b7f62bd7894dd9694d5fede992f4d42f4'