TypeError: crypto.createCipher no és una funció a Node.js 22 Lambda

El teu Lambda a Node.js 22 falla amb TypeError: createCipher no és funció? Aprèn a migrar a createCipheriv amb scrypt per més seguretat.

domingo, 26 de julio de 2026 • 3 min de lectura • Equip Q2BSTUDIO

Guía de migración a createCipheriv en Node.js 22

Si has actualitzat recentment una funció Lambda a Node.js 22 i et trobes amb l'error 'TypeError: crypto.createCipher is not a function', no estàs sol. Aquesta fallada ha afectat milers de desenvolupadors que confiaven en una API de xifrat que portava anys marcada com a obsoleta. En aquest article t'expliquem per què va desaparèixer, com migrar correctament i com a Q2BSTUDIO abordem aquest tipus de reptes tècnics amb un enfocament de aplicacions a mida segures i modernes.

La funció crypto.createCipher() utilitzava internament EVP_BytesToKey d'OpenSSL, derivant la clau de xifrat a partir d'una contrasenya mitjançant un sol hash MD5 sense sal. Això significa que dos xifrats amb la mateixa contrasenya generen exactament la mateixa clau, permetent atacs de diccionari i de precomputació amb taules rainbow. A més, una sola iteració de MD5 permet provar milers de milions de contrasenyes per segon en maquinari comercial. Per aquestes raons, Node.js va començar a mostrar avisos d'obsolescència des de la versió 10, els va convertir en avisos en temps d'execució a la v11 i finalment va eliminar la funció a la v22.0.0. A AWS Lambda, el runtime nodejs20.x ja està obsolet des d'abril de 2026 (sense pedaços de seguretat), i la migració a nodejs22.x és obligatòria abans de febrer de 2027. Les empreses que estan avançant aquesta actualització topen ara amb aquest error.

L'alternativa oficial és crypto.createCipheriv(), que exigeix proporcionar de forma explícita una clau i un vector d'inicialització (IV). Per generar la clau a partir d'una contrasenya, es recomanen funcions de derivació robustes com scryptSync o pbkdf2Sync. El patró següent és segur i compatible amb Node.js 22: generar una sal aleatòria de 16 bytes amb crypto.randomBytes(), un IV també aleatori, derivar la clau amb scrypt utilitzant aquesta sal, i després xifrar amb createCipheriv. El resultat s'ha d'emmagatzemar juntament amb la sal i l'IV per poder desxifrar posteriorment. Aquest procés elimina els riscos de seguretat del mètode anterior. Des de Q2BSTUDIO recomanem integrar aquesta migració dins d'un pla de modernització cloud, ja que també és una excel·lent oportunitat per revisar altres dependències insegures i adoptar bones pràctiques de ciberseguretat.

Si ja tens dades xifrades amb l'antiga API, la migració requereix un pas intermedi: desxifrar les dades utilitzant una versió anterior de Node.js (≤21) que encara disposi de createCipher, i després tornar a xifrar-les amb el nou mètode. És un procés delicat que s'ha de fer amb cura per no perdre informació. A Q2BSTUDIO oferim serveis de ciberseguretat i consultoria cloud (AWS/Azure) per ajudar les empreses a realitzar aquestes transicions sense riscos, minimitzant el temps d'inactivitat i assegurant la integritat de les dades.

Més enllà del xifrat, aquest canvi és un recordatori que l'obsolescència tècnica no avisa amb molt marge. Per mantenir les teves aplicacions al dia, és útil utilitzar eines d'anàlisi automàtica, com ara agents d'IA que escanegen dependències al teu codi i t'alerten sobre funcions obsoletes. A Q2BSTUDIO integrem intel·ligència artificial en els nostres processos de desenvolupament per detectar vulnerabilitats i optimitzar el rendiment. També desenvolupem quadres de comandament amb Power BI que monitoritzen l'estat de les teves funcions Lambda, ajudant-te a planificar actualitzacions abans que es converteixin en emergències. Si necessites una solució completa, el nostre equip d'aplicacions a mida pot redissenyar el teu sistema de xifrat i adaptar-lo a les últimes versions de Node.js, garantint compatibilitat i seguretat.

En resum, l'error createCipher is not a function a Node.js 22 Lambda no és un bug, sinó el resultat d'una política de seguretat necessària. Migrar a createCipheriv amb una derivació de clau adequada no només resol l'error, sinó que protegeix les teves dades contra atacs moderns. A Q2BSTUDIO estem preparats per ajudar-te en aquest procés, ja sigui mitjançant consultoria cloud, desenvolupament de software a mida o integració d'agents d'IA. No deixis la migració per a l'últim moment: el runtime nodejs20.x ja no rep pedaços i la finestra per actualitzar-se es tanca aviat. Posa't en contacte amb nosaltres i assegura el futur de les teves aplicacions al núvol.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.