예제 #1
0
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