Estoy usando react en javascript e intento encriptar elementos de la matriz usando un bucle, luego quiero insertar cada resultado en un elemento de la nueva matriz, uso este código:

   var eccrypto = require("eccrypto");
    
   var privateKey= Buffer.from([238, 239, 199, 101, 188, 134, 13, 13,195, 172, 125, 168, 225, 189, 72, 148, 225, 200, 127, 218, 204, 11, 150, 146, 180, 243, 195, 109, 200, 119, 50, 20],'hex');
   


  let array = [2,3,5];
  let array2=[];


    for (let b of array) {
          
          const a= eccrypto.sign(privateKey,b);
          array2.push(a);

        }
        console.log(array2);

El problema es que se rechaza en los elementos segundo y cuarto. El resultado es así: ingrese la descripción de la imagen aquí

Y el mensaje de error: ingrese la descripción de la imagen aquí

Intenté usar async / await ya que muchos de los problemas anteriores se resolvieron usándolo, pero obtengo el mismo problema.

Agradeceré tu ayuda, gracias.

-1
norah 23 ene. 2021 a las 04:19

1 respuesta

La mejor respuesta

Tienes que hacer lo siguiente

import eccrypto  from 'eccrypto'
import crypto from 'crypto'

export default function App() {
  let array = [2,3,5];
  
let array2=[];
 
  var privateKey = eccrypto.generatePrivate();
  for (let b of array) {
    var msg = crypto.createHash("sha256").update(b).digest();
    eccrypto.sign(privateKey, msg).then(function(a) {
      array2.push(a);
      
    });
    
  }
  console.log(array2);
0
Sam 23 ene. 2021 a las 01:42