18 unsigned char result[64];
27 sat_chksum_create(Id type)
30 h = sat_calloc(1, sizeof(*h));
34 case REPOKEY_TYPE_MD5:
35 sat_MD5_Init(&h->c.md5);
37 case REPOKEY_TYPE_SHA1:
38 sat_SHA1_Init(&h->c.sha1);
40 case REPOKEY_TYPE_SHA256:
41 sat_SHA256_Init(&h->c.sha256);
49 sat_chksum_add(void *handle, const void *data, int len)
51 struct ctxhandle *h = handle;
54 case REPOKEY_TYPE_MD5:
55 sat_MD5_Update(&h->c.md5, (void *)data, len);
57 case REPOKEY_TYPE_SHA1:
58 sat_SHA1_Update(&h->c.sha1, data, len);
60 case REPOKEY_TYPE_SHA256:
61 sat_SHA256_Update(&h->c.sha256, data, len);
69 sat_chksum_get(void *handle, int *lenp)
71 struct ctxhandle *h = handle;
76 case REPOKEY_TYPE_MD5:
77 sat_MD5_Final(h->result, &h->c.md5);
82 case REPOKEY_TYPE_SHA1:
83 sat_SHA1_Final(&h->c.sha1, h->result);
88 case REPOKEY_TYPE_SHA256:
89 sat_SHA256_Final(h->result, &h->c.sha256);
102 sat_chksum_free(void *handle)