Verdaccio uses crypto.createCipher(algorithm, password[, options])
for encrypt by default tokens.
A simple example would be:
import { createDecipher, createCipher, createHash, pseudoRandomBytes, Hash } from 'crypto';
const const payload = Buffer.from(`${name}:${password}`, 'utf8'));
const c = createCipher('aes192', SOME_RANDOM_SALT_VALUE);
const b1 = c.update(payload);
const b2 = c.final();
return Buffer.concat([b1, b2]);
Furthermore, it has the option to use a standard JWT (jsonwebtoken), but it not enabled by default.
According the docs, the possible answer to your question might be
The algorithm is dependent on OpenSSL, examples are 'aes192', etc. On recent OpenSSL releases, openssl list -cipher-algorithms (openssl list-cipher-algorithms for older versions of OpenSSL) will display the available cipher algorithms.