Changeset:
e8c8086e45fe
https://sourceforge.net/p/mrbs/hg-code/ci/e8c8086e45fe2d9ea5423089f3518af59b65b5ee
Author:
Campbell Morrison <[email protected]>
Date:
Fri Oct 02 15:05:29 2015 +0100
Log message:
Merge with default
diffstat:
web/Blowfish.php | 316 --------------------
web/Blowfish/DefaultKey.php | 326 --------------------
web/Crypt/Blowfish.php | 318 ++++++++++++++++++++
web/Crypt/Blowfish/CBC.php | 152 +++++++++
web/Crypt/Blowfish/DefaultKey.php | 319 ++++++++++++++++++++
web/Crypt/Blowfish/ECB.php | 142 +++++++++
web/Crypt/Blowfish/MCrypt.php | 179 +++++++++++
web/Crypt/Blowfish/PHP.php | 273 +++++++++++++++++
web/PEAR.php | 587 ++++++++++++++++++++++--------------
web/auth/auth_db.inc | 11 +
web/auth/auth_db_ext.inc | 7 +
web/config.inc.php | 3 +-
web/functions_mail.inc | 4 +
web/internalconfig.inc.php | 22 +-
web/mysql.inc | 598 --------------------------------------
web/session/session_cookie.inc | 2 +-
web/systemdefaults.inc.php | 14 +-
17 files changed, 1785 insertions(+), 1488 deletions(-)
diffs (truncated from 3923 to 300 lines):
diff -r 32170269a4bc -r e8c8086e45fe web/Blowfish.php
--- a/web/Blowfish.php Thu Oct 01 15:05:58 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Crypt_Blowfish allows for encryption and decryption on the fly using
- * the Blowfish algorithm. Crypt_Blowfish does not require the mcrypt
- * PHP extension, it uses only PHP.
- * Crypt_Blowfish support encryption/decryption with or without a secret key.
- *
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This source file is subject to version 3.0 of the PHP license
- * that is available through the world-wide-web at the following URI:
- * http://www.php.net/license/3_0.txt. If you did not receive a copy of
- * the PHP License and are unable to obtain it through the web, please
- * send a note to [email protected] so we can mail you a copy immediately.
- *
- * @category Encryption
- * @package Crypt_Blowfish
- * @author Matthew Fonda <[email protected]>
- * @copyright 2005 Matthew Fonda
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Blowfish.php,v 1.81 2005/05/30 18:40:36 mfonda Exp $
- * @link http://pear.php.net/package/Crypt_Blowfish
- */
-
-
-require_once 'PEAR.php';
-
-
-/**
- *
- * Example usage:
- * $bf = new Crypt_Blowfish('some secret key!');
- * $encrypted = $bf->encrypt('this is some example plain text');
- * $plaintext = $bf->decrypt($encrypted);
- * echo "plain text: $plaintext";
- *
- *
- * @category Encryption
- * @package Crypt_Blowfish
- * @author Matthew Fonda <[email protected]>
- * @copyright 2005 Matthew Fonda
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @link http://pear.php.net/package/Crypt_Blowfish
- * @version @package_version@
- * @access public
- */
-class Crypt_Blowfish
-{
- /**
- * P-Array contains 18 32-bit subkeys
- *
- * @var array
- * @access private
- */
- var $_P = array();
-
-
- /**
- * Array of four S-Blocks each containing 256 32-bit entries
- *
- * @var array
- * @access private
- */
- var $_S = array();
-
- /**
- * Mcrypt td resource
- *
- * @var resource
- * @access private
- */
- var $_td = null;
-
- /**
- * Initialization vector
- *
- * @var string
- * @access private
- */
- var $_iv = null;
-
-
- /**
- * Crypt_Blowfish Constructor
- * Initializes the Crypt_Blowfish object, and gives a sets
- * the secret key
- *
- * @param string $key
- * @access public
- */
- function Crypt_Blowfish($key)
- {
- if (extension_loaded('mcrypt')) {
- $this->_td = mcrypt_module_open(MCRYPT_BLOWFISH, '', 'ecb', '');
- $this->_iv = mcrypt_create_iv(8, MCRYPT_RAND);
- }
- $this->setKey($key);
- }
-
- /**
- * Deprecated isReady method
- *
- * @return bool
- * @access public
- * @deprecated
- */
- function isReady()
- {
- return true;
- }
-
- /**
- * Deprecated init method - init is now a private
- * method and has been replaced with _init
- *
- * @return bool
- * @access public
- * @deprecated
- * @see Crypt_Blowfish::_init()
- */
- function init()
- {
- $this->_init();
- }
-
- /**
- * Initializes the Crypt_Blowfish object
- *
- * @access private
- */
- function _init()
- {
- $defaults = new Crypt_Blowfish_DefaultKey();
- $this->_P = $defaults->P;
- $this->_S = $defaults->S;
- }
-
- /**
- * Enciphers a single 64 bit block
- *
- * @param int &$Xl
- * @param int &$Xr
- * @access private
- */
- function _encipher(&$Xl, &$Xr)
- {
- for ($i = 0; $i < 16; $i++) {
- $temp = $Xl ^ $this->_P[$i];
- $Xl = ((($this->_S[0][($temp>>24) & 255] +
- $this->_S[1][($temp>>16) & 255]) ^
- $this->_S[2][($temp>>8) & 255]) +
- $this->_S[3][$temp & 255]) ^ $Xr;
- $Xr = $temp;
- }
- $Xr = $Xl ^ $this->_P[16];
- $Xl = $temp ^ $this->_P[17];
- }
-
-
- /**
- * Deciphers a single 64 bit block
- *
- * @param int &$Xl
- * @param int &$Xr
- * @access private
- */
- function _decipher(&$Xl, &$Xr)
- {
- for ($i = 17; $i > 1; $i--) {
- $temp = $Xl ^ $this->_P[$i];
- $Xl = ((($this->_S[0][($temp>>24) & 255] +
- $this->_S[1][($temp>>16) & 255]) ^
- $this->_S[2][($temp>>8) & 255]) +
- $this->_S[3][$temp & 255]) ^ $Xr;
- $Xr = $temp;
- }
- $Xr = $Xl ^ $this->_P[1];
- $Xl = $temp ^ $this->_P[0];
- }
-
-
- /**
- * Encrypts a string
- *
- * @param string $plainText
- * @return string Returns cipher text on success, PEAR_Error on failure
- * @access public
- */
- function encrypt($plainText)
- {
- if (!is_string($plainText)) {
- PEAR::raiseError('Plain text must be a string', 0, PEAR_ERROR_DIE);
- }
-
- if (extension_loaded('mcrypt')) {
- return mcrypt_generic($this->_td, $plainText);
- }
-
- $cipherText = '';
- $len = strlen($plainText);
- $plainText .= str_repeat(chr(0),(8 - ($len%8))%8);
- for ($i = 0; $i < $len; $i += 8) {
- list(,$Xl,$Xr) = unpack("N2",substr($plainText,$i,8));
- $this->_encipher($Xl, $Xr);
- $cipherText .= pack("N2", $Xl, $Xr);
- }
- return $cipherText;
- }
-
-
- /**
- * Decrypts an encrypted string
- *
- * @param string $cipherText
- * @return string Returns plain text on success, PEAR_Error on failure
- * @access public
- */
- function decrypt($cipherText)
- {
- if (!is_string($cipherText)) {
- PEAR::raiseError('Chiper text must be a string', 1,
PEAR_ERROR_DIE);
- }
-
- if (extension_loaded('mcrypt')) {
- return mdecrypt_generic($this->_td, $cipherText);
- }
-
- $plainText = '';
- $len = strlen($cipherText);
- $cipherText .= str_repeat(chr(0),(8 - ($len%8))%8);
- for ($i = 0; $i < $len; $i += 8) {
- list(,$Xl,$Xr) = unpack("N2",substr($cipherText,$i,8));
- $this->_decipher($Xl, $Xr);
- $plainText .= pack("N2", $Xl, $Xr);
- }
- return $plainText;
- }
-
-
- /**
- * Sets the secret key
- * The key must be non-zero, and less than or equal to
- * 56 characters in length.
- *
- * @param string $key
- * @return bool Returns true on success, PEAR_Error on failure
- * @access public
- */
- function setKey($key)
- {
- if (!is_string($key)) {
- PEAR::raiseError('Key must be a string', 2, PEAR_ERROR_DIE);
- }
-
- $len = strlen($key);
-
- if ($len > 56 || $len == 0) {
- PEAR::raiseError('Key must be less than 56 characters and
non-zero. Supplied key length: ' . $len, 3, PEAR_ERROR_DIE);
- }
-
- if (extension_loaded('mcrypt')) {
- mcrypt_generic_init($this->_td, $key, $this->_iv);
- return true;
- }
-
- require_once 'Blowfish/DefaultKey.php';
- $this->_init();
-
- $k = 0;
- $data = 0;
- $datal = 0;
- $datar = 0;
-
- for ($i = 0; $i < 18; $i++) {
- $data = 0;
- for ($j = 4; $j > 0; $j--) {
- $data = $data << 8 | ord($key{$k});
- $k = ($k+1) % $len;
- }
- $this->_P[$i] ^= $data;
- }
-
- for ($i = 0; $i <= 16; $i += 2) {
- $this->_encipher($datal, $datar);
- $this->_P[$i] = $datal;
- $this->_P[$i+1] = $datar;
- }
- for ($i = 0; $i < 256; $i += 2) {
- $this->_encipher($datal, $datar);
- $this->_S[0][$i] = $datal;
- $this->_S[0][$i+1] = $datar;
- }
- for ($i = 0; $i < 256; $i += 2) {
------------------------------------------------------------------------------
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits