1288 FILE *in = fopen(path, "r"); |
1288 FILE *in = fopen(path, "r"); |
1289 if(!in) { |
1289 if(!in) { |
1290 return NULL; |
1290 return NULL; |
1291 } |
1291 } |
1292 |
1292 |
1293 DAV_SHA_CTX *sha = dav_hash_init(); |
1293 DAV_SHA_CTX *sha = dav_sha256_create(); |
1294 char *buf = malloc(16384); |
1294 char *buf = malloc(16384); |
1295 |
1295 |
1296 size_t r; |
1296 size_t r; |
1297 while((r = fread(buf, 1, 16384, in)) > 0) { |
1297 while((r = fread(buf, 1, 16384, in)) > 0) { |
1298 dav_hash_update(sha, buf, r); |
1298 dav_sha256_update(sha, buf, r); |
1299 } |
1299 } |
1300 |
1300 |
1301 unsigned char hash[DAV_SHA256_DIGEST_LENGTH]; |
1301 unsigned char hash[DAV_SHA256_DIGEST_LENGTH]; |
1302 dav_hash_final(sha, hash); |
1302 dav_sha256_final(sha, hash); |
1303 free(buf); |
1303 free(buf); |
1304 fclose(in); |
1304 fclose(in); |
1305 |
1305 |
1306 return util_hexstr(hash, DAV_SHA256_DIGEST_LENGTH); |
1306 return util_hexstr(hash, DAV_SHA256_DIGEST_LENGTH); |
1307 } |
1307 } |