Skip to content

Commit

Permalink
crypto: runtime deprecate Hash constructor
Browse files Browse the repository at this point in the history
PR-URL: #51880
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
  • Loading branch information
marco-ippolito committed Mar 12, 2024
1 parent 0b4cdb4 commit de0602d
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
5 changes: 4 additions & 1 deletion doc/api/deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -3563,12 +3563,15 @@ release lines. Please use [`dirent.parentPath`][] instead.

<!-- YAML
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/51880
description: Runtime deprecation.
- version: v21.5.0
pr-url: https://github.com/nodejs/node/pull/51077
description: Documentation-only deprecation.
-->

Type: Documentation-only
Type: Runtime

Calling `Hash` class directly with `Hash()` or `new Hash()` is
deprecated due to being internals, not intended for public use.
Expand Down
2 changes: 1 addition & 1 deletion lib/crypto.js
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ module.exports = {
DiffieHellman,
DiffieHellmanGroup,
ECDH,
Hash,
Hash: deprecate(Hash, 'crypto.Hash constructor is deprecated.', 'DEP0179'),
Hmac,
KeyObject,
Sign,
Expand Down
10 changes: 10 additions & 0 deletions test/parallel/test-crypto-hash.js
Original file line number Diff line number Diff line change
Expand Up @@ -276,3 +276,13 @@ assert.throws(
assert.strictEqual(a.digest('hex'), b.digest('hex'));
assert.strictEqual(c.digest('hex'), d.digest('hex'));
}

{
crypto.Hash('sha256');
common.expectWarning({
DeprecationWarning: [
['crypto.Hash constructor is deprecated.',
'DEP0179'],
]
});
}

0 comments on commit de0602d

Please sign in to comment.