@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author Threema GmbH |
|
4 | - * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | - */ |
|
3 | + * @author Threema GmbH |
|
4 | + * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | + */ |
|
6 | 6 | |
7 | 7 | |
8 | 8 | namespace Threema\MsgApi\Tools; |
@@ -145,6 +145,11 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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; |
@@ -42,8 +42,8 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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) { |
@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author Threema GmbH |
|
4 | - * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | - */ |
|
3 | + * @author Threema GmbH |
|
4 | + * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | + */ |
|
6 | 6 | |
7 | 7 | |
8 | 8 | namespace Threema\MsgApi\Tools; |
@@ -124,7 +124,7 @@ |
||
124 | 124 | * @throws Exception |
125 | 125 | */ |
126 | 126 | public function validate() { |
127 | - if(false === $this->isSupported()) { |
|
127 | + if (false === $this->isSupported()) { |
|
128 | 128 | throw new Exception('Sodium implementation not supported'); |
129 | 129 | } |
130 | 130 | return true; |
@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author Threema GmbH |
|
4 | - * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | - */ |
|
3 | + * @author Threema GmbH |
|
4 | + * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | + */ |
|
6 | 6 | |
7 | 7 | |
8 | 8 | namespace Threema\MsgApi\Tools; |
@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author Threema GmbH |
|
4 | - * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | - */ |
|
3 | + * @author Threema GmbH |
|
4 | + * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | + */ |
|
6 | 6 | |
7 | 7 | |
8 | 8 | namespace Threema\MsgApi\Tools; |
@@ -1,8 +1,8 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author Threema GmbH |
|
4 | - * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | - */ |
|
3 | + * @author Threema GmbH |
|
4 | + * @copyright Copyright (c) 2015 Threema GmbH |
|
5 | + */ |
|
6 | 6 | |
7 | 7 | |
8 | 8 | namespace Threema\MsgApi\Tools; |
@@ -32,7 +32,7 @@ |
||
32 | 32 | * |
33 | 33 | * @param string $keystorePath Path public key store file (PHP) |
34 | 34 | * |
35 | - * @return PhpFile public key store |
|
35 | + * @return Threema\MsgApi\PublicKeyStores\PhpFile public key store |
|
36 | 36 | */ |
37 | 37 | function CreatePublicKeyStore($keystorePath) |
38 | 38 | { |
@@ -1,9 +1,9 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author rugk |
|
4 | - * @copyright Copyright (c) 2015 rugk |
|
5 | - * @license MIT |
|
6 | - */ |
|
3 | + * @author rugk |
|
4 | + * @copyright Copyright (c) 2015 rugk |
|
5 | + * @license MIT |
|
6 | + */ |
|
7 | 7 | |
8 | 8 | use Threema\MsgApi\Connection; |
9 | 9 | use Threema\MsgApi\ConnectionSettings; |
@@ -20,11 +20,11 @@ discard block |
||
20 | 20 | */ |
21 | 21 | function CreateConnection($keystorePath='../../keystore.php', $useTlsOptions=true) |
22 | 22 | { |
23 | - $publicKeyStore = CreatePublicKeyStore($keystorePath); |
|
24 | - $settings = CreateConnectionSettings($publicKeyStore, $useTlsOptions); |
|
25 | - $connector = InitiateConnection($settings, $publicKeyStore); |
|
23 | + $publicKeyStore = CreatePublicKeyStore($keystorePath); |
|
24 | + $settings = CreateConnectionSettings($publicKeyStore, $useTlsOptions); |
|
25 | + $connector = InitiateConnection($settings, $publicKeyStore); |
|
26 | 26 | |
27 | - return $connector; |
|
27 | + return $connector; |
|
28 | 28 | } |
29 | 29 | |
30 | 30 | /** |
@@ -36,12 +36,12 @@ discard block |
||
36 | 36 | */ |
37 | 37 | function CreatePublicKeyStore($keystorePath) |
38 | 38 | { |
39 | - if (!file_exists($keystorePath)) { |
|
40 | - if (!touch($keystorePath)) { |
|
41 | - throw new Exception("PHP keystore could not be created."); |
|
42 | - } |
|
43 | - } |
|
44 | - return $publicKeyStore = new Threema\MsgApi\PublicKeyStores\PhpFile($keystorePath); |
|
39 | + if (!file_exists($keystorePath)) { |
|
40 | + if (!touch($keystorePath)) { |
|
41 | + throw new Exception("PHP keystore could not be created."); |
|
42 | + } |
|
43 | + } |
|
44 | + return $publicKeyStore = new Threema\MsgApi\PublicKeyStores\PhpFile($keystorePath); |
|
45 | 45 | } |
46 | 46 | |
47 | 47 | /** |
@@ -54,27 +54,27 @@ discard block |
||
54 | 54 | */ |
55 | 55 | function CreateConnectionSettings($publicKeyStore, $useTlsOptions) |
56 | 56 | { |
57 | - if ($useTlsOptions == true) { |
|
58 | - //create a connection with advanced options |
|
59 | - $settings = new ConnectionSettings( |
|
60 | - MSGAPI_GATEWAY_THREEMA_ID, |
|
61 | - MSGAPI_GATEWAY_THREEMA_ID_SECRET, |
|
62 | - null, |
|
63 | - [ |
|
64 | - 'forceHttps' => true, |
|
65 | - 'tlsVersion' => '1.2', |
|
66 | - 'tlsCipher' => 'ECDHE-RSA-AES128-GCM-SHA256' |
|
67 | - ] |
|
68 | - ); |
|
69 | - } else { |
|
70 | - //create a connection with default options |
|
71 | - $settings = new ConnectionSettings( |
|
72 | - MSGAPI_GATEWAY_THREEMA_ID, |
|
73 | - MSGAPI_GATEWAY_THREEMA_ID_SECRET |
|
74 | - ); |
|
75 | - } |
|
57 | + if ($useTlsOptions == true) { |
|
58 | + //create a connection with advanced options |
|
59 | + $settings = new ConnectionSettings( |
|
60 | + MSGAPI_GATEWAY_THREEMA_ID, |
|
61 | + MSGAPI_GATEWAY_THREEMA_ID_SECRET, |
|
62 | + null, |
|
63 | + [ |
|
64 | + 'forceHttps' => true, |
|
65 | + 'tlsVersion' => '1.2', |
|
66 | + 'tlsCipher' => 'ECDHE-RSA-AES128-GCM-SHA256' |
|
67 | + ] |
|
68 | + ); |
|
69 | + } else { |
|
70 | + //create a connection with default options |
|
71 | + $settings = new ConnectionSettings( |
|
72 | + MSGAPI_GATEWAY_THREEMA_ID, |
|
73 | + MSGAPI_GATEWAY_THREEMA_ID_SECRET |
|
74 | + ); |
|
75 | + } |
|
76 | 76 | |
77 | - return $settings; |
|
77 | + return $settings; |
|
78 | 78 | } |
79 | 79 | |
80 | 80 | /** |
@@ -87,5 +87,5 @@ discard block |
||
87 | 87 | */ |
88 | 88 | function InitiateConnection($settings, $publicKeyStore) |
89 | 89 | { |
90 | - return $connector = new Connection($settings, $publicKeyStore); |
|
90 | + return $connector = new Connection($settings, $publicKeyStore); |
|
91 | 91 | } |
@@ -18,7 +18,7 @@ |
||
18 | 18 | * |
19 | 19 | * @return Connection $connector |
20 | 20 | */ |
21 | -function CreateConnection($keystorePath='../../keystore.php', $useTlsOptions=true) |
|
21 | +function CreateConnection($keystorePath = '../../keystore.php', $useTlsOptions = true) |
|
22 | 22 | { |
23 | 23 | $publicKeyStore = CreatePublicKeyStore($keystorePath); |
24 | 24 | $settings = CreateConnectionSettings($publicKeyStore, $useTlsOptions); |
@@ -34,7 +34,7 @@ |
||
34 | 34 | * @param string $threemaId The id whose public key should be fetched |
35 | 35 | * @param string $message The message to send (max 3500 characters) |
36 | 36 | * |
37 | - * @return string|Exception |
|
37 | + * @return string |
|
38 | 38 | */ |
39 | 39 | function SendMessage($connector, $threemaId, $message) |
40 | 40 | { |
@@ -38,22 +38,22 @@ discard block |
||
38 | 38 | */ |
39 | 39 | function SendMessage($connector, $threemaId, $message) |
40 | 40 | { |
41 | - $e2eHelper = new \Threema\MsgApi\Helpers\E2EHelper(KeyHexToBin(MSGAPI_PRIVATE_KEY), $connector); |
|
42 | - $result = $e2eHelper->sendTextMessage($threemaId, $message); |
|
41 | + $e2eHelper = new \Threema\MsgApi\Helpers\E2EHelper(KeyHexToBin(MSGAPI_PRIVATE_KEY), $connector); |
|
42 | + $result = $e2eHelper->sendTextMessage($threemaId, $message); |
|
43 | 43 | |
44 | - if (true === $result->isSuccess()) { |
|
45 | - return $result->getMessageId(); |
|
46 | - } else { |
|
47 | - throw new Exception($result->getErrorMessage()); |
|
48 | - } |
|
44 | + if (true === $result->isSuccess()) { |
|
45 | + return $result->getMessageId(); |
|
46 | + } else { |
|
47 | + throw new Exception($result->getErrorMessage()); |
|
48 | + } |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | //get params |
52 | 52 | if (ReturnGetPost('recieverid') && |
53 | - preg_match('/' . REGEXP_THREEMAID_ANY . '/', ReturnGetPost('recieverid')) |
|
53 | + preg_match('/' . REGEXP_THREEMAID_ANY . '/', ReturnGetPost('recieverid')) |
|
54 | 54 | ) { |
55 | - $threemaId = htmlentities(ReturnGetPost('recieverid')); |
|
56 | - $message = ReturnGetPost('message'); |
|
55 | + $threemaId = htmlentities(ReturnGetPost('recieverid')); |
|
56 | + $message = ReturnGetPost('message'); |
|
57 | 57 | } |
58 | 58 | |
59 | 59 | //create connection |
@@ -61,24 +61,24 @@ discard block |
||
61 | 61 | |
62 | 62 | //Send message |
63 | 63 | if ($threemaId != null && $message != null) { |
64 | - if (!$isIncluded) { |
|
65 | - header('Content-Type: text/plain'); |
|
66 | - } |
|
67 | - $actionDone = true; |
|
64 | + if (!$isIncluded) { |
|
65 | + header('Content-Type: text/plain'); |
|
66 | + } |
|
67 | + $actionDone = true; |
|
68 | 68 | |
69 | - try { |
|
70 | - $messageId = SendMessage($connector, $threemaId, $message); |
|
71 | - } catch (Exception $e) { |
|
72 | - http_response_code(500); |
|
73 | - $errorMessage = $e->getMessage(); |
|
74 | - } |
|
69 | + try { |
|
70 | + $messageId = SendMessage($connector, $threemaId, $message); |
|
71 | + } catch (Exception $e) { |
|
72 | + http_response_code(500); |
|
73 | + $errorMessage = $e->getMessage(); |
|
74 | + } |
|
75 | 75 | } |
76 | 76 | |
77 | 77 | //Show direct output if the file is called directly |
78 | 78 | if (!$isIncluded) { |
79 | - if ($errorMessage == null) { |
|
80 | - echo 'Message ID: ' . $messageId; |
|
81 | - } else { |
|
82 | - echo $errorMessage; |
|
83 | - } |
|
79 | + if ($errorMessage == null) { |
|
80 | + echo 'Message ID: ' . $messageId; |
|
81 | + } else { |
|
82 | + echo $errorMessage; |
|
83 | + } |
|
84 | 84 | } |
@@ -50,7 +50,7 @@ discard block |
||
50 | 50 | |
51 | 51 | //get params |
52 | 52 | if (ReturnGetPost('recieverid') && |
53 | - preg_match('/' . REGEXP_THREEMAID_ANY . '/', ReturnGetPost('recieverid')) |
|
53 | + preg_match('/'.REGEXP_THREEMAID_ANY.'/', ReturnGetPost('recieverid')) |
|
54 | 54 | ) { |
55 | 55 | $threemaId = htmlentities(ReturnGetPost('recieverid')); |
56 | 56 | $message = ReturnGetPost('message'); |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | //Show direct output if the file is called directly |
78 | 78 | if (!$isIncluded) { |
79 | 79 | if ($errorMessage == null) { |
80 | - echo 'Message ID: ' . $messageId; |
|
80 | + echo 'Message ID: '.$messageId; |
|
81 | 81 | } else { |
82 | 82 | echo $errorMessage; |
83 | 83 | } |
@@ -1,9 +1,9 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author rugk |
|
4 | - * @copyright Copyright (c) 2015 rugk |
|
5 | - * @license MIT |
|
6 | - */ |
|
3 | + * @author rugk |
|
4 | + * @copyright Copyright (c) 2015 rugk |
|
5 | + * @license MIT |
|
6 | + */ |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * Returns the parameter from GET (preferred) or POST. |
@@ -13,12 +13,12 @@ discard block |
||
13 | 13 | */ |
14 | 14 | function ReturnGetPost($name) |
15 | 15 | { |
16 | - if (isset($_GET[$name])) { |
|
17 | - return $_GET[$name]; |
|
18 | - } |
|
19 | - if (isset($_POST[$name])) { |
|
20 | - return $_POST[$name]; |
|
21 | - } |
|
16 | + if (isset($_GET[$name])) { |
|
17 | + return $_GET[$name]; |
|
18 | + } |
|
19 | + if (isset($_POST[$name])) { |
|
20 | + return $_POST[$name]; |
|
21 | + } |
|
22 | 22 | |
23 | - return null; |
|
23 | + return null; |
|
24 | 24 | } |
@@ -1,9 +1,9 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * @author rugk |
|
4 | - * @copyright Copyright (c) 2015 rugk |
|
5 | - * @license MIT |
|
6 | - */ |
|
3 | + * @author rugk |
|
4 | + * @copyright Copyright (c) 2015 rugk |
|
5 | + * @license MIT |
|
6 | + */ |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * Checks whether a HEX-key is valid. |
@@ -14,8 +14,8 @@ discard block |
||
14 | 14 | */ |
15 | 15 | function KeyCheck($publicKey, $suffix='') |
16 | 16 | { |
17 | - // RegExp: https://regex101.com/r/sU5tC8/1 |
|
18 | - return preg_match('/^(' . $suffix . ')?[[:alnum:]]{64}$/', $publicKey); |
|
17 | + // RegExp: https://regex101.com/r/sU5tC8/1 |
|
18 | + return preg_match('/^(' . $suffix . ')?[[:alnum:]]{64}$/', $publicKey); |
|
19 | 19 | } |
20 | 20 | |
21 | 21 | /** |
@@ -32,14 +32,14 @@ discard block |
||
32 | 32 | */ |
33 | 33 | function KeyGetUserDisplay($publicKey) |
34 | 34 | { |
35 | - //force key to be binary |
|
36 | - if (ctype_alnum($publicKey)) { |
|
37 | - $publicKey = KeyHexToBin($publicKey); |
|
38 | - } |
|
35 | + //force key to be binary |
|
36 | + if (ctype_alnum($publicKey)) { |
|
37 | + $publicKey = KeyHexToBin($publicKey); |
|
38 | + } |
|
39 | 39 | |
40 | - //create short hash |
|
41 | - $shortHash = substr(hash('sha256', $publicKey, 0, 32)); |
|
42 | - return $shortHash; |
|
40 | + //create short hash |
|
41 | + $shortHash = substr(hash('sha256', $publicKey, 0, 32)); |
|
42 | + return $shortHash; |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | /** |
@@ -51,13 +51,13 @@ discard block |
||
51 | 51 | */ |
52 | 52 | function KeyHexToBin($keyHex) |
53 | 53 | { |
54 | - //delete prefix |
|
55 | - $keyTypeCheck = substr($keyHex, 0, 8); |
|
56 | - if ($keyTypeCheck == 'private:' || $keyTypeCheck == 'public:') { |
|
57 | - $keyHex = substr($keyHex, 8); |
|
58 | - } |
|
54 | + //delete prefix |
|
55 | + $keyTypeCheck = substr($keyHex, 0, 8); |
|
56 | + if ($keyTypeCheck == 'private:' || $keyTypeCheck == 'public:') { |
|
57 | + $keyHex = substr($keyHex, 8); |
|
58 | + } |
|
59 | 59 | |
60 | - //convert key |
|
61 | - $keyBin = hex2bin($keyHex); |
|
62 | - return $keyBin; |
|
60 | + //convert key |
|
61 | + $keyBin = hex2bin($keyHex); |
|
62 | + return $keyBin; |
|
63 | 63 | } |
@@ -12,10 +12,10 @@ |
||
12 | 12 | * @param string optional suffix (usually 'private:' or 'public:') (default: '') |
13 | 13 | * @return bool whether the key is valid (true) or not (false) |
14 | 14 | */ |
15 | -function KeyCheck($publicKey, $suffix='') |
|
15 | +function KeyCheck($publicKey, $suffix = '') |
|
16 | 16 | { |
17 | 17 | // RegExp: https://regex101.com/r/sU5tC8/1 |
18 | - return preg_match('/^(' . $suffix . ')?[[:alnum:]]{64}$/', $publicKey); |
|
18 | + return preg_match('/^('.$suffix.')?[[:alnum:]]{64}$/', $publicKey); |
|
19 | 19 | } |
20 | 20 | |
21 | 21 | /** |