ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
PHPExcel_Shared_PasswordHasher Class Reference
+ Collaboration diagram for PHPExcel_Shared_PasswordHasher:

Static Public Member Functions

static hashPassword ($pPassword='')
 Create a password hash from a given string. More...
 

Detailed Description

Definition at line 36 of file PasswordHasher.php.

Member Function Documentation

◆ hashPassword()

static PHPExcel_Shared_PasswordHasher::hashPassword (   $pPassword = '')
static

Create a password hash from a given string.

This method is based on the algorithm provided by Daniel Rentz of OpenOffice and the PEAR package Spreadsheet_Excel_Writer by Xavier Noguer xnogu.nosp@m.er@r.nosp@m.ezebr.nosp@m.a.co.nosp@m.m.

Parameters
string$pPasswordPassword to hash
Returns
string Hashed password

Definition at line 48 of file PasswordHasher.php.

References $password.

Referenced by PHPExcel_Worksheet\protectCells(), PHPExcel_Worksheet_Protection\setPassword(), PHPExcel_DocumentSecurity\setRevisionsPassword(), and PHPExcel_DocumentSecurity\setWorkbookPassword().

48  {
49  $password = 0x0000;
50  $charPos = 1; // char position
51 
52  // split the plain text password in its component characters
53  $chars = preg_split('//', $pPassword, -1, PREG_SPLIT_NO_EMPTY);
54  foreach ($chars as $char) {
55  $value = ord($char) << $charPos++; // shifted ASCII value
56  $rotated_bits = $value >> 15; // rotated bits beyond bit 15
57  $value &= 0x7fff; // first 15 bits
58  $password ^= ($value | $rotated_bits);
59  }
60 
61  $password ^= strlen($pPassword);
62  $password ^= 0xCE4B;
63 
64  return(strtoupper(dechex($password)));
65  }
$password
Definition: pwgen.php:17
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: