class PHPExcel_Shared_PasswordHasher in Loft Data Grids 7.2
Same name and namespace in other branches
- 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php \PHPExcel_Shared_PasswordHasher
PHPExcel_Shared_PasswordHasher
@category PHPExcel @package PHPExcel_Shared @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
Hierarchy
Expanded class hierarchy of PHPExcel_Shared_PasswordHasher
1 string reference to 'PHPExcel_Shared_PasswordHasher'
- PasswordHasherTest::testHashPassword in vendor/
phpoffice/ phpexcel/ unitTests/ Classes/ PHPExcel/ Shared/ PasswordHasherTest.php - @dataProvider providerHashPassword
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Shared/ PasswordHasher.php, line 36
View source
class PHPExcel_Shared_PasswordHasher {
/**
* 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 <xnoguer@rezebra.com>.
*
* @param string $pPassword Password to hash
* @return string Hashed password
*/
public static function hashPassword($pPassword = '') {
$password = 0x0;
$charPos = 1;
// char position
// split the plain text password in its component characters
$chars = preg_split('//', $pPassword, -1, PREG_SPLIT_NO_EMPTY);
foreach ($chars as $char) {
$value = ord($char) << $charPos++;
// shifted ASCII value
$rotated_bits = $value >> 15;
// rotated bits beyond bit 15
$value &= 0x7fff;
// first 15 bits
$password ^= $value | $rotated_bits;
}
$password ^= strlen($pPassword);
$password ^= 0xce4b;
return strtoupper(dechex($password));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHPExcel_Shared_PasswordHasher:: |
public static | function | * 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 <xnoguer@rezebra.com>. * * |