Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
Read a binary with javascript

How can i read a binary like bellow ?

Binary2 {
  sub_type: 0,
  buffer: Buffer(16) [
    12,  15,  64, 88, 174,  93,
    16, 250, 162,  5, 122, 223,
    16,  98, 207, 68
  ],
  position: 16
}

I tried several things like making a parseInt:

error: NaN

or with new Uint16Array():

error:

error: TS2769 [ERROR]: No overload matches this call.
  The last overload gave the following error.
    Argument of type 'string' is not assignable to parameter of type 'ArrayBufferLike'.
    console.log('test :', new Uint16Array(contact.firstname))
TS2771 [ERROR]:     The last overload is declared here.
        new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint16Array;

Someone can help me to read the buffer of this binary and decrypt my aes data ?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You not really specified the file format, for this case I created a code, you can modify if you need to for other cases (My code now just extracting the numbers from "[" to "]" with StrBetween):

 function StrBetween(str, s1, s2){    
     let pos1 = str.indexOf(s1);
     if(pos1>-1){
       pos1 += s1.length;
       return str.substr(pos1, str.indexOf(s2, pos1)-pos1);
     } else {
       return "";
     } 
    } 

  function Convert(){         
    var data = `
      Binary2 {
      sub_type: 0,
      buffer: Buffer(16) [
        12,  15,  64, 88, 174,  93,
        16, 250, 162,  5, 122, 223,
        16,  98, 207, 68
      ],
      position: 16
    }
    `;
    
    let values = StrBetween(data, "[", "]").split(",");
    var uint16 = new Uint16Array(values.length);
    
    for(let i=0; i<values.length; i++){
     values[i] = values[i].replace('\n','').trim(); //Remove line breaks and spaces
     uint16[i] = parseInt(values[i]);
    }
    
    console.log(uint16); //Show the array               
    }
about 4 years ago · Juan Pablo Isaza Report

0

Ok,i'm stupid. I found the solution.

1. Encrypt and set data with hex() in mongoDB like this :

let firstname = await aes.encrypt(data.fields.firstname)
data.fields.firstname = firstname.hex()

2. String format data in mongoDB :

b9314d7b7f24e79bc08518e956f9125a

3. Transform hexadecimal string to bytes array and decrypt data from mongoDB :

for (var bytes = [], c = 0; c < contact.firstname.length; c += 2) {
      bytes.push(parseInt(contact.firstname.substr(c, 2), 16));
    }
let cipher = await aes.decrypt(new Uint8Array(bytes))
contact.firstname = cipher.toString()

thanks for your help !

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!