[BUGFIX] PHP 5.5 warning when decrypting word with blowfish algorithm 80/46580/2
authorStanislas Rolland <typo3@sjbr.ca>
Wed, 10 Feb 2016 21:13:19 +0000 (16:13 -0500)
committerStanislas Rolland <typo3@sjbr.ca>
Wed, 10 Feb 2016 21:16:46 +0000 (22:16 +0100)
mcrypt iv parameter is broken.

Resolves: #73220
Change-Id: Ib0ba1ca57377b5a2d3ad43d9406961fce0234173
Reviewed-on: https://review.typo3.org/46580
Reviewed-by: Stanislas Rolland <typo3@sjbr.ca>
Tested-by: Stanislas Rolland <typo3@sjbr.ca>
ChangeLog
Classes/Utility/EncryptionUtility.php

index 4ef6f91..911ff8b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
+2016-02-10  Stanislas Rolland  <typo(arobas)sjbr.ca>
+
+       * Resolves #73220: PHP 5.5 warning when decrypting word with blowfish algorithm
+
 2016-02-01  Stanislas Rolland  <typo(arobas)sjbr.ca>
+
        * Cleanup in ImageViewHelper
        * Correction to composer.json
        * Resolves #73075: Word list used when renewing captcha image is in wrong language
index 44cd631..f4712ef 100644 (file)
@@ -1,52 +1,52 @@
 <?php
 namespace SJBR\SrFreecap\Utility;
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2012 Stanislas Rolland <typo3(arobas)sjbr.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
+
+/*
+ *  Copyright notice
+ *
+ *  (c) 2012-2016 Stanislas Rolland <typo3(arobas)sjbr.ca>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ */
 /**
  * Encryption utility
- *
- * @author     Stanislas Rolland       <typo3(arobas)sjbr.ca>
  */
-class EncryptionUtility {
-
+class EncryptionUtility
+{
        /**
         * Encrypts a string
         *
         * @param array $string: the string to be encrypted
-        *
         * @return array an array with the string as the first element and the initialization vector as the second element
         */
-       public static function encrypt($string) {
+       public static function encrypt($string)
+       {
                if (in_array('mcrypt', get_loaded_extensions())) {
-                       $module = mcrypt_module_open($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_freecap']['encryptionAlgorithm'], '', MCRYPT_MODE_CBC, '');
-                       if ($module !== FALSE) {
+                       $encryptionAlgorithm = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_freecap']['encryptionAlgorithm'];
+                       $module = mcrypt_module_open($encryptionAlgorithm, '', MCRYPT_MODE_CBC, '');
+                       if ($module !== false) {
                                $key = md5($GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']);
                                $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($module), MCRYPT_RAND);
-                               $string = mcrypt_encrypt($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_freecap']['encryptionAlgorithm'], $key, $string, MCRYPT_MODE_CBC, $iv);
-                               $cypher = array(base64_encode($string), base64_encode($iv));
+                               $string = mcrypt_encrypt($encryptionAlgorithm, $key, $string, MCRYPT_MODE_CBC, $iv);
+                               $cypher = array(base64_encode($string), $iv);
                                mcrypt_module_close($module);
                        } else {
                                $cypher = array(base64_encode($string));
@@ -61,17 +61,16 @@ class EncryptionUtility {
         * Decrypts a string
         *
         * @param array $cypher: an array as returned by encrypt()
-        *
         * @return string the decrypted string
         */
-       public static function decrypt ($cypher){
+       public static function decrypt($cypher)
+       {
                if (in_array('mcrypt', get_loaded_extensions())) {
                        $key = md5($GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']);
-                       $string = trim(mcrypt_decrypt($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_freecap']['encryptionAlgorithm'], $key, base64_decode($cypher[0]), MCRYPT_MODE_CBC, base64_decode($cypher[1])));
+                       $string = trim(mcrypt_decrypt($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['sr_freecap']['encryptionAlgorithm'], $key, base64_decode($cypher[0]), MCRYPT_MODE_CBC, $cypher[1]));
                } else {
                        $string = base64_decode($cypher[0]);
                }
                return $string;
        }
-}
-?>
\ No newline at end of file
+}
\ No newline at end of file