Node.JS Ciphers Info in version 15.x

After the deprecation of methods createCipher(…) and createDecipher(…) due to the introduction of createCipheriv(…) and createDecipheriv(…) a lot of us had issues when specifying the keys and IVs because sometimes the key would be the incorrect size and same for the IVs. I developed a kind of brute force tester to determine the correct values and keep them in a JSON file but honestly it was not ideal.

Today I was having a look at Crypto’s documentation and I saw that for version 15.x of Node.JS there is a method that gives us that information. It’s called getCipherInfo(…) and here’s how to use it:

const crypto = require('crypto');
crypto.getCiphers().forEach((cipher) => {
    // console.log(cipher);
    console.log(crypto.getCipherInfo(cipher)); // Added in: v15.0.0
});

The console output maybe similar to this:

{
    mode: 'cbc',
    name: 'aes-128-cbc',
    nid: 419,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'aes-128-cbc-hmac-sha1',
    nid: 916,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'aes-128-cbc-hmac-sha256',
    nid: 948,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ccm',
    name: 'id-aes128-ccm',
    nid: 896,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aes-128-cfb',
    nid: 421,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aes-128-cfb1',
    nid: 650,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aes-128-cfb8',
    nid: 653,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ctr',
    name: 'aes-128-ctr',
    nid: 904,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'aes-128-ecb',
    nid: 418,
    blockSize: 16,
    keyLength: 16
}
{
    mode: 'gcm',
    name: 'id-aes128-gcm',
    nid: 895,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'ocb',
    name: 'aes-128-ocb',
    nid: 958,
    blockSize: 16,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'aes-128-ofb',
    nid: 420,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'xts',
    name: 'aes-128-xts',
    nid: 913,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'aes-192-cbc',
    nid: 423,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ccm',
    name: 'id-aes192-ccm',
    nid: 899,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aes-192-cfb',
    nid: 425,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aes-192-cfb1',
    nid: 651,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aes-192-cfb8',
    nid: 654,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ctr',
    name: 'aes-192-ctr',
    nid: 905,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ecb',
    name: 'aes-192-ecb',
    nid: 422,
    blockSize: 16,
    keyLength: 24
}
{
    mode: 'gcm',
    name: 'id-aes192-gcm',
    nid: 898,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'ocb',
    name: 'aes-192-ocb',
    nid: 959,
    blockSize: 16,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'ofb',
    name: 'aes-192-ofb',
    nid: 424,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'aes-256-cbc',
    nid: 427,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'aes-256-cbc-hmac-sha1',
    nid: 918,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'aes-256-cbc-hmac-sha256',
    nid: 950,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ccm',
    name: 'id-aes256-ccm',
    nid: 902,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aes-256-cfb',
    nid: 429,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aes-256-cfb1',
    nid: 652,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aes-256-cfb8',
    nid: 655,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ctr',
    name: 'aes-256-ctr',
    nid: 906,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ecb',
    name: 'aes-256-ecb',
    nid: 426,
    blockSize: 16,
    keyLength: 32
}
{
    mode: 'gcm',
    name: 'id-aes256-gcm',
    nid: 901,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'ocb',
    name: 'aes-256-ocb',
    nid: 960,
    blockSize: 16,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'ofb',
    name: 'aes-256-ofb',
    nid: 428,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'xts',
    name: 'aes-256-xts',
    nid: 914,
    blockSize: 1,
    ivLength: 16,
    keyLength: 64
}
{
    mode: 'cbc',
    name: 'aes-128-cbc',
    nid: 419,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'wrap',
    name: 'id-aes128-wrap',
    nid: 788,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'aes-192-cbc',
    nid: 423,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'wrap',
    name: 'id-aes192-wrap',
    nid: 789,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'aes-256-cbc',
    nid: 427,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'wrap',
    name: 'id-aes256-wrap',
    nid: 790,
    blockSize: 8,
    ivLength: 8,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'aria-128-cbc',
    nid: 1066,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ccm',
    name: 'aria-128-ccm',
    nid: 1120,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aria-128-cfb',
    nid: 1067,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aria-128-cfb1',
    nid: 1080,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'aria-128-cfb8',
    nid: 1083,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ctr',
    name: 'aria-128-ctr',
    nid: 1069,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'aria-128-ecb',
    nid: 1065,
    blockSize: 16,
    keyLength: 16
}
{
    mode: 'gcm',
    name: 'aria-128-gcm',
    nid: 1123,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'aria-128-ofb',
    nid: 1068,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'aria-192-cbc',
    nid: 1071,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ccm',
    name: 'aria-192-ccm',
    nid: 1121,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aria-192-cfb',
    nid: 1072,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aria-192-cfb1',
    nid: 1081,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'aria-192-cfb8',
    nid: 1084,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ctr',
    name: 'aria-192-ctr',
    nid: 1074,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ecb',
    name: 'aria-192-ecb',
    nid: 1070,
    blockSize: 16,
    keyLength: 24
}
{
    mode: 'gcm',
    name: 'aria-192-gcm',
    nid: 1124,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'ofb',
    name: 'aria-192-ofb',
    nid: 1073,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'aria-256-cbc',
    nid: 1076,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ccm',
    name: 'aria-256-ccm',
    nid: 1122,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aria-256-cfb',
    nid: 1077,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aria-256-cfb1',
    nid: 1082,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'aria-256-cfb8',
    nid: 1085,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ctr',
    name: 'aria-256-ctr',
    nid: 1079,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ecb',
    name: 'aria-256-ecb',
    nid: 1075,
    blockSize: 16,
    keyLength: 32
}
{
    mode: 'gcm',
    name: 'aria-256-gcm',
    nid: 1125,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'ofb',
    name: 'aria-256-ofb',
    nid: 1078,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'aria-128-cbc',
    nid: 1066,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'aria-192-cbc',
    nid: 1071,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'aria-256-cbc',
    nid: 1076,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'bf-cbc',
    nid: 91,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'bf-cbc',
    nid: 91,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'bf-cfb',
    nid: 93,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'bf-ecb',
    nid: 92,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'bf-ofb',
    nid: 94,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'bf-cbc',
    nid: 91,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'camellia-128-cbc',
    nid: 751,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'camellia-128-cfb',
    nid: 757,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'camellia-128-cfb1',
    nid: 760,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'camellia-128-cfb8',
    nid: 763,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ctr',
    name: 'camellia-128-ctr',
    nid: 963,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'camellia-128-ecb',
    nid: 754,
    blockSize: 16,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'camellia-128-ofb',
    nid: 766,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'camellia-192-cbc',
    nid: 752,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'camellia-192-cfb',
    nid: 758,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'camellia-192-cfb1',
    nid: 761,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'camellia-192-cfb8',
    nid: 764,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ctr',
    name: 'camellia-192-ctr',
    nid: 967,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'ecb',
    name: 'camellia-192-ecb',
    nid: 755,
    blockSize: 16,
    keyLength: 24
}
{
    mode: 'ofb',
    name: 'camellia-192-ofb',
    nid: 767,
    blockSize: 1,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'camellia-256-cbc',
    nid: 753,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'camellia-256-cfb',
    nid: 759,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'camellia-256-cfb1',
    nid: 762,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cfb',
    name: 'camellia-256-cfb8',
    nid: 765,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ctr',
    name: 'camellia-256-ctr',
    nid: 971,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'ecb',
    name: 'camellia-256-ecb',
    nid: 756,
    blockSize: 16,
    keyLength: 32
}
{
    mode: 'ofb',
    name: 'camellia-256-ofb',
    nid: 768,
    blockSize: 1,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'camellia-128-cbc',
    nid: 751,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'camellia-192-cbc',
    nid: 752,
    blockSize: 16,
    ivLength: 16,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'camellia-256-cbc',
    nid: 753,
    blockSize: 16,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'cast5-cbc',
    nid: 108,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'cast5-cbc',
    nid: 108,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'cast5-cbc',
    nid: 108,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'cast5-cfb',
    nid: 110,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'cast5-ecb',
    nid: 109,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'cast5-ofb',
    nid: 111,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'stream',
    name: 'chacha20',
    nid: 1019,
    ivLength: 16,
    keyLength: 32
}
{
    mode: 'stream',
    name: 'chacha20-poly1305',
    nid: 1018,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'cbc',
    name: 'des-cbc',
    nid: 31,
    blockSize: 8,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cbc',
    name: 'des-cbc',
    nid: 31,
    blockSize: 8,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cfb',
    name: 'des-cfb',
    nid: 30,
    blockSize: 1,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cfb',
    name: 'des-cfb1',
    nid: 656,
    blockSize: 1,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cfb',
    name: 'des-cfb8',
    nid: 657,
    blockSize: 1,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'ecb',
    name: 'des-ecb',
    nid: 29,
    blockSize: 8,
    keyLength: 8
}
{
    mode: 'ecb',
    name: 'des-ede',
    nid: 32,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'des-ede-cbc',
    nid: 43,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'des-ede-cfb',
    nid: 60,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'des-ede',
    nid: 32,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'des-ede-ofb',
    nid: 62,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'des-ede3',
    nid: 33,
    blockSize: 8,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'des-ede3-cbc',
    nid: 44,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'des-ede3-cfb',
    nid: 61,
    blockSize: 1,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'des-ede3-cfb1',
    nid: 658,
    blockSize: 1,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'cfb',
    name: 'des-ede3-cfb8',
    nid: 659,
    blockSize: 1,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'ecb',
    name: 'des-ede3',
    nid: 33,
    blockSize: 8,
    keyLength: 24
}
{
    mode: 'ofb',
    name: 'des-ede3-ofb',
    nid: 63,
    blockSize: 1,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'ofb',
    name: 'des-ofb',
    nid: 45,
    blockSize: 1,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cbc',
    name: 'des-ede3-cbc',
    nid: 44,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'wrap',
    name: 'id-smime-alg-cms3deswrap',
    nid: 246,
    blockSize: 8,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'desx-cbc',
    nid: 80,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'desx-cbc',
    nid: 80,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'ccm',
    name: 'id-aes128-ccm',
    nid: 896,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'gcm',
    name: 'id-aes128-gcm',
    nid: 895,
    blockSize: 1,
    ivLength: 12,
    keyLength: 16
}
{
    mode: 'wrap',
    name: 'id-aes128-wrap',
    nid: 788,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'wrap',
    name: 'id-aes128-wrap-pad',
    nid: 897,
    blockSize: 8,
    ivLength: 4,
    keyLength: 16
}
{
    mode: 'ccm',
    name: 'id-aes192-ccm',
    nid: 899,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'gcm',
    name: 'id-aes192-gcm',
    nid: 898,
    blockSize: 1,
    ivLength: 12,
    keyLength: 24
}
{
    mode: 'wrap',
    name: 'id-aes192-wrap',
    nid: 789,
    blockSize: 8,
    ivLength: 8,
    keyLength: 24
}
{
    mode: 'wrap',
    name: 'id-aes192-wrap-pad',
    nid: 900,
    blockSize: 8,
    ivLength: 4,
    keyLength: 24
}
{
    mode: 'ccm',
    name: 'id-aes256-ccm',
    nid: 902,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'gcm',
    name: 'id-aes256-gcm',
    nid: 901,
    blockSize: 1,
    ivLength: 12,
    keyLength: 32
}
{
    mode: 'wrap',
    name: 'id-aes256-wrap',
    nid: 790,
    blockSize: 8,
    ivLength: 8,
    keyLength: 32
}
{
    mode: 'wrap',
    name: 'id-aes256-wrap-pad',
    nid: 903,
    blockSize: 8,
    ivLength: 4,
    keyLength: 32
}
{
    mode: 'wrap',
    name: 'id-smime-alg-cms3deswrap',
    nid: 246,
    blockSize: 8,
    keyLength: 24
}
{
    mode: 'cbc',
    name: 'idea-cbc',
    nid: 34,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'idea-cbc',
    nid: 34,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'idea-cfb',
    nid: 35,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'idea-ecb',
    nid: 36,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'idea-ofb',
    nid: 46,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'rc2-cbc',
    nid: 37,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'rc2-cbc',
    nid: 37,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'rc2-40-cbc',
    nid: 98,
    blockSize: 8,
    ivLength: 8,
    keyLength: 5
}
{
    mode: 'cbc',
    name: 'rc2-40-cbc',
    nid: 98,
    blockSize: 8,
    ivLength: 8,
    keyLength: 5
}
{
    mode: 'cbc',
    name: 'rc2-64-cbc',
    nid: 166,
    blockSize: 8,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cbc',
    name: 'rc2-64-cbc',
    nid: 166,
    blockSize: 8,
    ivLength: 8,
    keyLength: 8
}
{
    mode: 'cbc',
    name: 'rc2-cbc',
    nid: 37,
    blockSize: 8,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'rc2-cfb',
    nid: 39,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'rc2-ecb',
    nid: 38,
    blockSize: 8,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'rc2-ofb',
    nid: 40,
    blockSize: 1,
    ivLength: 8,
    keyLength: 16
}
{
    mode: 'stream',
    name: 'rc4',
    nid: 5,
    keyLength: 16
}
{
    mode: 'stream',
    name: 'rc4-40',
    nid: 97,
    keyLength: 5
}
{
    mode: 'stream',
    name: 'rc4-hmac-md5',
    nid: 915,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'seed-cbc',
    nid: 777,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'seed-cbc',
    nid: 777,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'seed-cfb',
    nid: 779,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'seed-ecb',
    nid: 776,
    blockSize: 16,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'seed-ofb',
    nid: 778,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'sm4-cbc',
    nid: 1134,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cbc',
    name: 'sm4-cbc',
    nid: 1134,
    blockSize: 16,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'cfb',
    name: 'sm4-cfb',
    nid: 1137,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ctr',
    name: 'sm4-ctr',
    nid: 1139,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}
{
    mode: 'ecb',
    name: 'sm4-ecb',
    nid: 1133,
    blockSize: 16,
    keyLength: 16
}
{
    mode: 'ofb',
    name: 'sm4-ofb',
    nid: 1135,
    blockSize: 1,
    ivLength: 16,
    keyLength: 16
}

This is the result for version 15.12.0.