sha256: add sha256_direct_hex() helper
A various places we need a SHA256SUM of something as a string. Let's add a simple helper for this that does this generically.
This commit is contained in:
@@ -11,6 +11,8 @@ int sha256_fd(int fd, uint64_t max_size, uint8_t ret[static SHA256_DIGEST_SIZE])
|
||||
struct sha256_ctx ctx;
|
||||
uint64_t total_size = 0;
|
||||
|
||||
assert(fd >= 0);
|
||||
|
||||
sha256_init_ctx(&ctx);
|
||||
|
||||
for (;;) {
|
||||
@@ -53,3 +55,12 @@ int parse_sha256(const char *s, uint8_t ret[static SHA256_DIGEST_SIZE]) {
|
||||
bool sha256_is_valid(const char *s) {
|
||||
return s && in_charset(s, HEXDIGITS) && (strlen(s) == SHA256_DIGEST_SIZE * 2);
|
||||
}
|
||||
|
||||
char* sha256_direct_hex(const void *buffer, size_t sz) {
|
||||
assert(buffer || sz == 0);
|
||||
|
||||
if (sz == SIZE_MAX)
|
||||
sz = strlen(buffer);
|
||||
|
||||
return hexmem(SHA256_DIRECT(buffer, sz), SHA256_DIGEST_SIZE);
|
||||
}
|
||||
|
||||
@@ -11,3 +11,5 @@ int sha256_fd(int fd, uint64_t max_size, uint8_t ret[static SHA256_DIGEST_SIZE])
|
||||
int parse_sha256(const char *s, uint8_t ret[static SHA256_DIGEST_SIZE]);
|
||||
|
||||
bool sha256_is_valid(const char *s) _pure_;
|
||||
|
||||
char* sha256_direct_hex(const void *buffer, size_t sz);
|
||||
|
||||
Reference in New Issue
Block a user