Standardized use of binascii for hex conversions
Had been using a mix of unhexlify/hexlify and a2b_hex/b2a_hex. I settled on the later as it's the most descriptive to me.
This commit is contained in:
parent
7650e7cc4d
commit
c1f6442f07
12
ipsc.py
12
ipsc.py
@ -60,30 +60,30 @@ def strip_hash(_data):
|
|||||||
# Take a packet to be SENT, calcualte auth hash and return the whole thing
|
# Take a packet to be SENT, calcualte auth hash and return the whole thing
|
||||||
#
|
#
|
||||||
def hashed_packet(_key, _data):
|
def hashed_packet(_key, _data):
|
||||||
hash = binascii.unhexlify((hmac.new(_key,_data,hashlib.sha1)).hexdigest()[:20])
|
hash = binascii.a2b_hex((hmac.new(_key,_data,hashlib.sha1)).hexdigest()[:20])
|
||||||
return (_data + hash)
|
return (_data + hash)
|
||||||
|
|
||||||
|
|
||||||
# Take a RECEIVED packet, calculate the auth hash and verify authenticity
|
# Take a RECEIVED packet, calculate the auth hash and verify authenticity
|
||||||
#
|
#
|
||||||
def validate_auth(_key, _data):
|
def validate_auth(_key, _data):
|
||||||
_log = logger.info
|
_log = logger.debug
|
||||||
_payload = _data[:-10]
|
_payload = _data[:-10]
|
||||||
_hash = _data[-10:]
|
_hash = _data[-10:]
|
||||||
_chk_hash = binascii.unhexlify((hmac.new(_key,_payload,hashlib.sha1)).hexdigest()[:20])
|
_chk_hash = binascii.a2b_hex((hmac.new(_key,_payload,hashlib.sha1)).hexdigest()[:20])
|
||||||
|
|
||||||
if _chk_hash == _hash:
|
if _chk_hash == _hash:
|
||||||
_log(' AUTH: Valid - Payload: %s, Hash: %s', binascii.hexlify(_payload), binascii.hexlify(_hash))
|
_log(' AUTH: Valid - Payload: %s, Hash: %s', binascii.b2a_hex(_payload), binascii.b2a_hex(_hash))
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
_log(' AUTH: Invalid - Payload: %s, Hash: %s', binascii.hexlify(_payload), binascii.hexlify(_hash))
|
_log(' AUTH: Invalid - Payload: %s, Hash: %s', binascii.b2a_hex(_payload), binascii.b2a_hex(_hash))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# Take a recieved peer list and the network it belongs to, process and populate the
|
# Take a recieved peer list and the network it belongs to, process and populate the
|
||||||
# data structure in my_ipsc_config with the results.
|
# data structure in my_ipsc_config with the results.
|
||||||
#
|
#
|
||||||
def process_peer_list(_data, _network):
|
def process_peer_list(_data, _network):
|
||||||
_log = logger.info
|
_log = logger.debug
|
||||||
|
|
||||||
NETWORK[_network]['MASTER']['STATUS']['PEER-LIST'] = True
|
NETWORK[_network]['MASTER']['STATUS']['PEER-LIST'] = True
|
||||||
_num_peers = int(str(int(binascii.b2a_hex(_data[5:7]), 16))[1:])
|
_num_peers = int(str(int(binascii.b2a_hex(_data[5:7]), 16))[1:])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user