Node.js uses a KeyObject class to represent a symmetric or asymmetric key,
and each kind of key exposes different functions. The
[crypto.createSecretKey()][], [crypto.createPublicKey()][] and
[crypto.createPrivateKey()][] methods are used to create KeyObject
instances. KeyObject objects are not to be created directly using the new
keyword.
Most applications should consider using the new KeyObject API instead of
passing keys as strings or Buffers due to improved security features.
KeyObject instances can be passed to other threads via [postMessage()][].
The receiver obtains a cloned KeyObject, and the KeyObject does not need to
be listed in the transferList argument.
