# Code examples

# Python example

import hashlib, hmac
def verify(appkey, token, timestamp, signature):
    return signature == hmac.new(
        key=appkey,
        msg='{}{}'.format(timestamp, token),
        digestmod=hashlib.sha256).hexdigest()
1
2
3
4
5
6

# Java examples

(Dependent apache codec (opens new window))

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Hex;

public boolean verify(String appkey, String token, long timestamp,
            String signature) throws NoSuchAlgorithmException, InvalidKeyException {
    Mac sha256HMAC = Mac.getInstance("HmacSHA256");
    SecretKeySpec secretKey = new SecretKeySpec(appkey.getBytes(),"HmacSHA256");
    sha256HMAC.init(secretKey);
    StringBuffer buf = new StringBuffer();
    buf.append(timestamp).append(token);
    String signatureCal = new String(Hex.encodeHex(sha256HMAC.doFinal(buf
            .toString().getBytes())));
    return signatureCal.equals(signature);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

WebHook analysis Sample download

# php examples

function verify($appkey,$token,$timestamp,$signature){
    $hash="sha256";
    $result=hash_hmac($hash,$timestamp.$token,$appkey);
    return strcmp($result,$signature)==0?1:0;
}
1
2
3
4
5

Experience Now

If you don’t have url to receive data,try services of requestb.in (opens new window) or request 纷云版 (opens new window) to experience WebHook.

  1. Click Create a RequestBin to generate an url
  2. Configure the URL in SendCloud to receive event data from WebHook
  3. After an operation (request, deliver, open), you can see all POST data of the event in requestb.in
Last Updated: 2025/03/25 10:38:59