Pbkdf2Params
{{ APIRef("Web Crypto API") }}
The Pbkdf2Params
dictionary of the Web Crypto API represents the object that should be passed as the algorithm
parameter into {{domxref("SubtleCrypto.deriveKey()")}}
, when using the PBKDF2 algorithm.
Instance properties
-
name
- : A string. This should be set to
PBKDF2
.
- : A string. This should be set to
-
hash
-
: A string or an object containing a single property called
name
with a string value. It is an identifier for the digest algorithm to use. This should be one of the following:SHA-256
: selects the SHA-256 algorithm.SHA-384
: selects the SHA-384 algorithm.SHA-512
: selects the SHA-512 algorithm.
Warning:
SHA-1
is considered vulnerable in most cryptographic applications, but is still considered safe in PBKDF2. However, it’s advisable to transition away from it everywhere, so unless you need to useSHA-1
, don’t. Use a different digest algorithm instead.
-
-
salt
- : An
{{jsxref("ArrayBuffer")}}
, a{{jsxref("TypedArray")}}
, or a{{jsxref("DataView")}}
. This should be a random or pseudo-random value of at least 16 bytes. Unlike the input key material passed intoderiveKey()
,salt
does not need to be kept secret.
- : An
-
iterations
- : A
Number
representing the number of times the hash function will be executed inderiveKey()
. This determines how computationally expensive (that is, slow) thederiveKey()
operation will be. In this context, slow is good, since it makes it more expensive for an attacker to run a{{Glossary("dictionary attack")}}
against the keys. The general guidance here is to use as many iterations as possible, subject to keeping an acceptable level of performance for your application.
- : A
Examples
See the examples for {{domxref("SubtleCrypto.deriveKey()")}}
.
Specifications
{{Specifications}}
Browser compatibility
Browsers that support the “PBKDF2” algorithm for the {{domxref("SubtleCrypto.deriveKey()")}}
method will support this type.
See also
{{domxref("SubtleCrypto.deriveKey()")}}
.