Sé que nodeJS tiene una biblioteca criptográfica incorporada para realizar acciones como hash o generar valores aleatorios, pero ¿JS del lado del cliente tiene algo similar? Quiero poder codificar cadenas en el lado del cliente y evitar enviarlo al servidor para que lo haga y luego hacer que el servidor envíe el hash de vuelta. Idealmente, también me gustaría poder generar números aleatorios criptográficamente seguros en el lado del cliente también.
Cualquier ejemplo de cómo implementar esto en una aplicación simple sería muy apreciado. He intentado usar diferentes bibliotecas que creo que están destinadas a JS del lado del cliente, pero parecen muy poco claras sobre cómo funcionan exactamente.