Completed
Push — official ( 423fab...ff5d6e )
by rugk
04:50 queued 02:10
created
source/Threema/MsgApi/Tools/CryptTool.php 2 patches
Doc Comments   +16 added lines, -4 removed lines patch added patch discarded remove patch
@@ -145,6 +145,11 @@  discard block
 block discarded – undo
145 145
 		return $this->makeBox($message, $nonce, $senderPrivateKey, $recipientPublicKey);
146 146
 	}
147 147
 
148
+	/**
149
+	 * @param string $senderPrivateKey
150
+	 * @param string $recipientPublicKey
151
+	 * @param string $nonce
152
+	 */
148 153
 	final public function encryptFileMessage(UploadFileResult $uploadFileResult,
149 154
 											 EncryptResult $encryptResult,
150 155
 											 UploadFileResult $thumbnailUploadFileResult = null,
@@ -193,9 +198,9 @@  discard block
 block discarded – undo
193 198
 	 * make a secret box
194 199
 	 *
195 200
 	 * @param $data
196
-	 * @param $nonce
201
+	 * @param string $nonce
197 202
 	 * @param $key
198
-	 * @return mixed
203
+	 * @return string
199 204
 	 */
200 205
 	abstract protected function makeSecretBox($data, $nonce, $key);
201 206
 
@@ -337,6 +342,9 @@  discard block
 block discarded – undo
337 342
 		return hash_hmac('sha256', $phoneNoClean, self::PHONENO_HMAC_KEY);
338 343
 	}
339 344
 
345
+	/**
346
+	 * @return string
347
+	 */
340 348
 	abstract protected function createRandom($size);
341 349
 
342 350
 	/**
@@ -379,7 +387,7 @@  discard block
 block discarded – undo
379 387
 	abstract public function validate();
380 388
 
381 389
 	/**
382
-	 * @param $data
390
+	 * @param string $data
383 391
 	 * @return EncryptResult
384 392
 	 */
385 393
 	public final function encryptFile($data) {
@@ -391,7 +399,7 @@  discard block
 block discarded – undo
391 399
 	/**
392 400
 	 * @param string $data as binary
393 401
 	 * @param string $key as binary
394
-	 * @return null|string
402
+	 * @return string
395 403
 	 */
396 404
 	public final function decryptFile($data, $key) {
397 405
 		$result =  $this->openSecretBox($data, self::FILE_NONCE, $key);
@@ -408,6 +416,10 @@  discard block
 block discarded – undo
408 416
 		return new EncryptResult($box, $key,  self::FILE_THUMBNAIL_NONCE, strlen($box));
409 417
 	}
410 418
 
419
+	/**
420
+	 * @param string $data
421
+	 * @param string $key
422
+	 */
411 423
 	public final function decryptFileThumbnail($data, $key) {
412 424
 		$result = $this->openSecretBox($data, self::FILE_THUMBNAIL_NONCE, $key);
413 425
 		return false === $result ? null : $result;
Please login to merge, or discard this patch.
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -42,8 +42,8 @@  discard block
 block discarded – undo
42 42
 	 * @return CryptTool
43 43
 	 */
44 44
 	public static function getInstance() {
45
-		if(null === self::$instance) {
46
-			foreach(array(
45
+		if (null === self::$instance) {
46
+			foreach (array(
47 47
 				function() {
48 48
 					return self::createInstance(self::TYPE_SODIUM);
49 49
 				},
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 					return self::createInstance(self::TYPE_SALT);
52 52
 				}) as $instanceGenerator) {
53 53
 				$i = $instanceGenerator->__invoke();
54
-				if(null !== $i) {
54
+				if (null !== $i) {
55 55
 					self::$instance = $i;
56 56
 					break;
57 57
 				}
@@ -66,18 +66,18 @@  discard block
 block discarded – undo
66 66
 	 * @return null|CryptTool null on unknown type
67 67
 	 */
68 68
 	public static function createInstance($type) {
69
-		switch($type) {
69
+		switch ($type) {
70 70
 			case self::TYPE_SODIUM:
71 71
 				$instance = new CryptToolSodium();
72
-				if(false === $instance->isSupported()) {
72
+				if (false === $instance->isSupported()) {
73 73
 					//try to instance old version of sodium wrapper
74 74
 					/** @noinspection PhpDeprecationInspection */
75 75
 					$instance = new CryptToolSodiumDep();
76 76
 				}
77
-				return $instance->isSupported() ? $instance :null;
77
+				return $instance->isSupported() ? $instance : null;
78 78
 			case self::TYPE_SALT:
79 79
 				$instance = new CryptToolSalt();
80
-				return $instance->isSupported() ? $instance :null;
80
+				return $instance->isSupported() ? $instance : null;
81 81
 			default:
82 82
 				return null;
83 83
 		}
@@ -104,14 +104,14 @@  discard block
 block discarded – undo
104 104
 	 */
105 105
 	final public function encryptMessageText($text, $senderPrivateKey, $recipientPublicKey, $nonce) {
106 106
 		/* prepend type byte (0x01) to message data */
107
-		$textBytes = "\x01" . $text;
107
+		$textBytes = "\x01".$text;
108 108
 
109 109
 		/* determine random amount of PKCS7 padding */
110 110
 		$padbytes = mt_rand(1, 255);
111 111
 
112 112
 		/* append padding */
113 113
 		$padbytes = 0;
114
-		while($padbytes < 1 || $padbytes > 255) {
114
+		while ($padbytes < 1 || $padbytes > 255) {
115 115
 			$padbytes = ord($this->createRandom(1));
116 116
 		}
117 117
 
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 			$senderPrivateKey,
133 133
 			$recipientPublicKey,
134 134
 			$nonce) {
135
-		$message = "\x02" . hex2bin($uploadFileResult->getBlobId());
135
+		$message = "\x02".hex2bin($uploadFileResult->getBlobId());
136 136
 		$message .= pack('V', $encryptResult->getSize());
137 137
 		$message .= $encryptResult->getNonce();
138 138
 
@@ -163,11 +163,11 @@  discard block
 block discarded – undo
163 163
 			'i' => 0
164 164
 		);
165 165
 
166
-		if($thumbnailUploadFileResult != null && strlen($thumbnailUploadFileResult->getBlobId()) > 0) {
166
+		if ($thumbnailUploadFileResult != null && strlen($thumbnailUploadFileResult->getBlobId()) > 0) {
167 167
 			$messageContent['t'] = $thumbnailUploadFileResult->getBlobId();
168 168
 		}
169 169
 
170
-		$message = "\x17" . json_encode($messageContent);
170
+		$message = "\x17".json_encode($messageContent);
171 171
 
172 172
 		/* determine random amount of PKCS7 padding */
173 173
 		$padbytes = mt_rand(1, 255);
@@ -240,7 +240,7 @@  discard block
 block discarded – undo
240 240
 
241 241
 		/* remove padding */
242 242
 		$padbytes = ord($data[strlen($data)-1]);
243
-		$realDataLength = strlen($data) - $padbytes;
243
+		$realDataLength = strlen($data)-$padbytes;
244 244
 		if ($realDataLength < 1) {
245 245
 			throw new BadMessageException();
246 246
 		}
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 				return new TextMessage(substr($data, 1));
267 267
 			case DeliveryReceipt::TYPE_CODE:
268 268
 				/* Delivery receipt */
269
-				if ($realDataLength < (self::MESSAGE_ID_LEN-2) || (($realDataLength - 2) % self::MESSAGE_ID_LEN) != 0)  {
269
+				if ($realDataLength < (self::MESSAGE_ID_LEN-2) || (($realDataLength-2)%self::MESSAGE_ID_LEN) != 0) {
270 270
 					throw new BadMessageException();
271 271
 				}
272 272
 
@@ -276,7 +276,7 @@  discard block
 block discarded – undo
276 276
 				return new DeliveryReceipt($receiptType, $messageIds);
277 277
 			case ImageMessage::TYPE_CODE:
278 278
 				/* Image Message */
279
-				if ($realDataLength != 1 + self::BLOB_ID_LEN + self::IMAGE_FILE_SIZE_LEN + self::IMAGE_NONCE_LEN)  {
279
+				if ($realDataLength != 1+self::BLOB_ID_LEN+self::IMAGE_FILE_SIZE_LEN+self::IMAGE_NONCE_LEN) {
280 280
 					throw new BadMessageException();
281 281
 				}
282 282
 
@@ -287,12 +287,12 @@  discard block
 block discarded – undo
287 287
 			case FileMessage::TYPE_CODE:
288 288
 				/* Image Message */
289 289
 				$decodeResult = json_decode(substr($data, 1), true);
290
-				if(null === $decodeResult || false === $decodeResult) {
290
+				if (null === $decodeResult || false === $decodeResult) {
291 291
 					throw new BadMessageException();
292 292
 				}
293 293
 
294 294
 				$values = AssocArray::byJsonString(substr($data, 1), array('b', 't', 'k', 'm', 'n', 's'));
295
-				if(null === $values) {
295
+				if (null === $values) {
296 296
 					throw new BadMessageException();
297 297
 				}
298 298
 
@@ -394,7 +394,7 @@  discard block
 block discarded – undo
394 394
 	 * @return null|string
395 395
 	 */
396 396
 	public final function decryptFile($data, $key) {
397
-		$result =  $this->openSecretBox($data, self::FILE_NONCE, $key);
397
+		$result = $this->openSecretBox($data, self::FILE_NONCE, $key);
398 398
 		return false === $result ? null : $result;
399 399
 	}
400 400
 
@@ -405,7 +405,7 @@  discard block
 block discarded – undo
405 405
 	 */
406 406
 	public final function encryptFileThumbnail($data, $key) {
407 407
 		$box = $this->makeSecretBox($data, self::FILE_THUMBNAIL_NONCE, $key);
408
-		return new EncryptResult($box, $key,  self::FILE_THUMBNAIL_NONCE, strlen($box));
408
+		return new EncryptResult($box, $key, self::FILE_THUMBNAIL_NONCE, strlen($box));
409 409
 	}
410 410
 
411 411
 	public final function decryptFileThumbnail($data, $key) {
Please login to merge, or discard this patch.