Lines Matching refs:hash
108 Hash* hash = new Hash(env, args.This());
109 if (md == nullptr || !hash->HashInit(md, xof_md_len)) {
115 0 >= EVP_MD_CTX_copy(hash->mdctx_.get(), orig->mdctx_.get())) {
130 // hashSize option was passed for a non-XOF hash function.
148 Decode<Hash>(args, [](Hash* hash, const FunctionCallbackInfo<Value>& args,
153 bool r = hash->HashUpdate(data, size);
161 Hash* hash;
162 ASSIGN_OR_RETURN_UNWRAP(&hash, args.Holder());
169 unsigned int len = hash->md_len_;
173 // causes hash.digest() to correctly return an empty buffer / string.
176 if (!hash->digest_ && len > 0) {
177 // Some hash algorithms such as SHA3 do not support calling
185 size_t default_len = EVP_MD_CTX_size(hash->mdctx_.get());
189 hash->mdctx_.get(), digest.data<unsigned char>(), &len);
190 // The output length should always equal hash->md_len_
191 CHECK_EQ(len, hash->md_len_);
194 hash->mdctx_.get(), digest.data<unsigned char>(), len);
200 hash->digest_ = std::move(digest).release();
205 env->isolate(), hash->digest_.data<char>(), len, encoding, &error);