Por alguna razón, una función que estoy tratando de usar aparentemente no es una función .
Welcome to Node.js v14.15.1. Type ".help" for more information. > const crypto = require("crypto"); undefined > x = crypto.randomBytes(32).toString("hex") Uncaught TypeError: crypto.randomBytes is not a functionDocumentación para randomBytes() .
¿Hay algo que no estoy entendiendo?
Parece que se eliminó la función getRandomBytes(). Leí algunos descargos de responsabilidad de que no es muy seguro.
https://www.npmjs.com/package/crypto está agrupado con mensajes de desaprobación, por lo que, aunque la mayoría de los votos a favor aquí en https://stackoverflow.com/a/8856177/828184 , ya no me parece lo último en tecnología.
Antes de que pudiera simplemente usar (como usted, pero ya no después de las actualizaciones del paquete)
import crypto from "crypto"; const token = crypto.randomBytes(64).toString('hex');Pero crypto ahora solo tiene getRandomValues() y creo que no es un reemplazo.
Solo la respuesta nr 3 con también muchos pero no tantos votos a favor me dio una versión funcional https://stackoverflow.com/a/25690754/828184 . Así que tal vez también intente:
import { nanoid } from "nanoid"; const token = nanoid(64); //instead of crypto.randomBytes(64).toString('hex')Y deja un voto positivo allí si funciona porque.
Si intentó crear un token .
Simplemente puede escribir el siguiente comando en su cli de nodejs:
crypto.randomBytes(64).toString('hex');