diff --git a/src/bin/message.rs b/src/bin/message.rs index 92a6b72..c846682 100644 --- a/src/bin/message.rs +++ b/src/bin/message.rs @@ -48,13 +48,23 @@ impl Message { msg.payload[0] = msg_type as u8; msg } - fn creat_vec(ciphertext: Vec) -> Vec { - let mut vec: Vec = vec![0; 14 + ciphertext.len()]; + fn creat_vec(&mut self) -> Vec { + let mut vec: Vec = vec![0; (10 + self.size).into()]; + + vec[0] = ((self.src_id >> 24) & 0xff) as u8; + vec[1] = ((self.src_id >> 16) & 0xff) as u8; + vec[2] = ((self.src_id >> 8) & 0xff) as u8; + vec[3] = (self.src_id & 0xff) as u8; + vec[4] = ((self.dest_id >> 24) & 0xff) as u8; + vec[5] = ((self.dest_id >> 16) & 0xff) as u8; + vec[6] = ((self.dest_id >> 8) & 0xff) as u8; + vec[7] = (self.dest_id & 0xff) as u8; + vec[8] = ((self.size >> 8) & 0xff) as u8; + vec[9] = (self.size & 0xff) as u8; - - for i in 14..(14 + ciphertext.len()){ - vec[i] = ciphertext[i - 14]; + for i in 10..(10 + self.size).into(){ + vec[i] = self.payload[i - 10]; } vec }