def sign_msg(orig_msg): msg = orig_msg _id = msg[:3] _dlc = msg[4:6] msg = msg[6:] _key = shm.get_key(_id) if _key == -1: # no stored key for that msg_id print('No key for that message ID') sys.exit(1) signature = get_signature(_key, msg[6:].encode()) if len(signature) != 8: signature = pad_signature(signature) msg = signature + msg[6:] return _id + '#' + _dlc + msg + orig_msg[6:]
def Validate(pid, signature, data): _key = shm.get_key(pid) if _key == -1: return False # must be a valid frame ID return shm.get_signature(_key, data) == signature