Advertisement
Hexkritor

Untitled

Feb 2nd, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.74 KB | None | 0 0
  1. import hashlib
  2.  
  3. def powMod (n ,pow ,mod):
  4.     res=1
  5.     while pow>0:
  6.         if (pow&1):
  7.             res = (res * n) % mod
  8.         n = (n * n) % mod
  9.         pow>>=1
  10.     return res
  11.  
  12. def number2hashnum(number):
  13.     tNumber = number
  14.     hashObj = hashlib.sha256()
  15.     byteNumber = bytearray()
  16.     while tNumber > 0:
  17.         byteNumber.append(tNumber & 0xFF)
  18.         tNumber >>= 8
  19.     byteNumber.reverse()
  20.     hashObj.update(byteNumber)
  21.     hash = hashObj.digest()
  22.     hashArray = bytearray(hash)
  23.     hashNumber = 0
  24.     i = 63
  25.     for element in hashArray:
  26.         hashNumber += element << (i * 8)
  27.         --i
  28.     return hashNumber
  29.  
  30. def checkVote(R,S,D,N):
  31.     res = powMod(S,D,N)
  32.     hash = number2hashnum(R)
  33.     return res==hash
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement