GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • MDN
  • HTML: Markup language
  • Elements
  • Global attributes
  • Attributes
  • See all…
  • Responsive images
  • HTML cheatsheet
  • Date & time formats
  • See all…
  • SVG
  • MathML
  • XML
  • CSS: Styling language

This view

  • Original page
  • New address

GeezerVison is showing developer.mozilla.org — CryptoKey: algorithm property - Web APIs | MDN

CryptoKey: algorithm property

Baseline
Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

  • See full compatibility
  • Learn more

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

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

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

Value

An object matching:

  • AesKeyGenParams if the algorithm is any of the AES variants.
  • RsaHashedKeyGenParams if the algorithm is any of the RSA variants.
  • EcKeyGenParams if the algorithm is any of the EC variants.
  • HmacKeyGenParams if the algorithm is HMAC.

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

Specification
Web Cryptography Level 2
# dom-cryptokey-algorithm

Browser compatibility

Help improve MDN

Learn how to contribute

This page was last modified on Aug 27, 2026 by MDN contributors.

View this page on GitHub • Report a problem with this content
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.