<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def check_signature(token, signature, timestamp, nonce):
 """Check WeChat callback signature, raises InvalidSignatureException if check failed. :param token: WeChat callback token :param signature: WeChat callback signature sent by WeChat server :param timestamp: WeChat callback timestamp sent by WeChat server :param nonce: WeChat callback nonce sent by WeChat sever """

    signer = WeChatSigner()
    signer.add_data(token, timestamp, nonce)
    if signer.signature != signature:
        from wechatpy.exceptions import InvalidSignatureException

        raise InvalidSignatureException()