Back to Content

CryptoKey: algorithm property

files/en-us/web/api/cryptokey/algorithm/index.md

latest1.6 KB
Original Source

{{APIRef("Web Crypto API")}}{{SecureContext_Header}}{{AvailableInWorkers}}

The read-only algorithm property of the {{DOMxRef("CryptoKey")}} interface returns an object describing the algorithm for which this key can be used, and any associated extra parameters.

The object returned depends of the algorithm used to generate the key.

Value

An object matching:

For RsaHashedKeyGenParams and HmacKeyGenParams, the hash property is always in the object form (with a property called name), not the string form.

Examples

js
const rawKey = window.crypto.getRandomValues(new Uint8Array(16));

// Import an AES secret key from an ArrayBuffer containing the raw bytes.
// Takes an ArrayBuffer string containing the bytes, and returns a Promise
// that will resolve to a CryptoKey representing the secret key.
function importSecretKey(rawKey) {
  return window.crypto.subtle.importKey("raw", rawKey, "AES-GCM", true, [
    "encrypt",
    "decrypt",
  ]);
}

importSecretKey(rawKey).then((key) =>
  console.log(
    `This key is to be used with the ${key.algorithm.name} algorithm.`,
  ),
);

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}