Merge branch 'master' of github.com:spesmilo/electrum-server
[electrum-server.git] / utils / __init__.py
index 95c6c17..d6ff895 100644 (file)
@@ -74,7 +74,7 @@ def header_to_string(res):
 
 
 def hex_to_int(s):
-    return eval('0x' + s[::-1].encode('hex'))
+    return int('0x' + s[::-1].encode('hex'), 16)
 
 
 def header_from_string(s):
@@ -90,7 +90,6 @@ def header_from_string(s):
 
 ############ functions from pywallet #####################
 
-addrtype = 0
 
 
 def hash_160(public_key):
@@ -108,7 +107,7 @@ def public_key_to_bc_address(public_key):
     return hash_160_to_bc_address(hash_160(public_key))
 
 
-def hash_160_to_bc_address(h160):
+def hash_160_to_bc_address(h160, addrtype = 0):
     if h160 == 'None':
         return 'None'
     vh160 = chr(addrtype) + h160
@@ -194,28 +193,13 @@ def DecodeBase58Check(psz):
         return key
 
 
-def PrivKeyToSecret(privkey):
-    return privkey[9:9+32]
-
-
-def SecretToASecret(secret):
-    vchIn = chr(addrtype+128) + secret
-    return EncodeBase58Check(vchIn)
-
-
-def ASecretToSecret(key):
-    vch = DecodeBase58Check(key)
-    if vch and vch[0] == chr(addrtype+128):
-        return vch[1:]
-    else:
-        return False
 
 
 ########### end pywallet functions #######################
 
 def random_string(length):
-    return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in xrange(length))
-
+    with open("/dev/urandom", 'rb') as f:
+        return b58encode( f.read(length) )
 
 def timestr():
     return time.strftime("[%d/%m/%Y-%H:%M:%S]")