MCPcopy Create free account
hub / github.com/ashvardanian/StringZilla / sha256API

Function sha256API

javascript/lib.c:427–454  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

425}
426
427napi_value sha256API(napi_env env, napi_callback_info info) {
428 size_t argc = 1;
429 napi_value args[1];
430 napi_get_cb_info(env, info, &argc, args, NULL, NULL);
431
432 // Get buffer info for data (zero-copy)
433 void *buffer_data;
434 size_t buffer_length;
435 napi_status status = napi_get_buffer_info(env, args[0], &buffer_data, &buffer_length);
436 if (status != napi_ok) {
437 napi_throw_error(env, NULL, "Argument must be a Buffer");
438 return NULL;
439 }
440
441 // Compute SHA-256 using StringZilla
442 sz_u8_t digest[32];
443 sz_sha256_state_t state;
444 sz_sha256_state_init(&state);
445 sz_sha256_state_update(&state, (sz_cptr_t)buffer_data, buffer_length);
446 sz_sha256_state_digest(&state, digest);
447
448 // Convert result to JavaScript Buffer
449 napi_value js_result;
450 void *result_data;
451 napi_create_buffer_copy(env, 32, digest, &result_data, &js_result);
452
453 return js_result;
454}
455
456static void sha256_hasher_cleanup(napi_env env, void *data, void *hint) { free(data); }
457typedef struct {

Callers

nothing calls this directly

Calls 3

sz_sha256_state_initFunction · 0.50
sz_sha256_state_updateFunction · 0.50
sz_sha256_state_digestFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…