本文整理汇总了PHP中Crypt::mkHashPassword方法的典型用法代码示例。如果您正苦于以下问题:PHP Crypt::mkHashPassword方法的具体用法?PHP Crypt::mkHashPassword怎么用?PHP Crypt::mkHashPassword使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Crypt
的用法示例。
在下文中一共展示了Crypt::mkHashPassword方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setTempMasterPass
/**
* Crea una clave temporal para encriptar la clave maestra y guardarla.
*
* @param int $maxTime El tiempo máximo de validez de la clave
* @return bool|string
*/
public static function setTempMasterPass($maxTime = 14400)
{
// Encriptar la clave maestra con hash aleatorio generado
$randomKey = Crypt::generateAesKey(Util::generate_random_bytes());
$pass = Crypt::mkCustomMPassEncrypt($randomKey, SessionUtil::getSessionMPass());
if (!is_array($pass)) {
return false;
}
ConfigDB::setCacheConfigValue('tempmaster_pass', bin2hex($pass[0]));
ConfigDB::setCacheConfigValue('tempmaster_passiv', bin2hex($pass[1]));
ConfigDB::setCacheConfigValue('tempmaster_passhash', Crypt::mkHashPassword($randomKey));
ConfigDB::setCacheConfigValue('tempmaster_passtime', time());
ConfigDB::setCacheConfigValue('tempmaster_maxtime', time() + $maxTime);
ConfigDB::setCacheConfigValue('tempmaster_attempts', 0);
if (!ConfigDB::writeConfig(true)) {
return false;
}
// Guardar la clave temporal hasta que finalice la sesión
Session::setTemporaryMasterPass($randomKey);
return $randomKey;
}
示例2: updateUserMPass
/**
* Actualizar la clave maestra del usuario en la BBDD.
*
* @param string $masterPwd con la clave maestra
* @return bool
*/
public function updateUserMPass($masterPwd)
{
$configHashMPass = ConfigDB::getValue('masterPwd');
if ($configHashMPass === false) {
return false;
}
if (is_null($configHashMPass)) {
$configHashMPass = Crypt::mkHashPassword($masterPwd);
ConfigDB::setValue('masterPwd', $configHashMPass);
}
if (Crypt::checkHashPass($masterPwd, $configHashMPass, true)) {
$cryptMPass = Crypt::mkCustomMPassEncrypt(self::getCypherPass(), $masterPwd);
if (!$cryptMPass) {
return false;
}
} else {
return false;
}
$query = 'UPDATE usrData SET ' . 'user_mPass = :mPass,' . 'user_mIV = :mIV,' . 'user_lastUpdateMPass = UNIX_TIMESTAMP() ' . 'WHERE user_id = :id LIMIT 1';
$data['mPass'] = $cryptMPass[0];
$data['mIV'] = $cryptMPass[1];
$data['id'] = $this->_userId;
return DB::getQuery($query, __FUNCTION__, $data);
}
示例3: createAdminAccount
/**
* Crear el usuario admin de sysPass.
* Esta función crea el grupo, perfil y usuario 'admin' para utilizar sysPass.
*
* @throws SPException
*/
private static function createAdminAccount()
{
// Datos del grupo
Groups::$groupName = "Admins";
Groups::$groupDescription = "Admins";
if (!Groups::addGroup()) {
self::rollback();
throw new SPException(SPException::SP_CRITICAL, _('Error al crear el grupo "admin"'), _('Informe al desarrollador'));
}
$User = new User();
// Establecer el id de grupo del usuario al recién creado
$User->setUserGroupId(Groups::$queryLastId);
$Profile = new Profile();
$Profile->setName('Admin');
$Profile->setAccAdd(true);
$Profile->setAccView(true);
$Profile->setAccViewPass(true);
$Profile->setAccViewHistory(true);
$Profile->setAccEdit(true);
$Profile->setAccEditPass(true);
$Profile->setAccDelete(true);
$Profile->setConfigGeneral(true);
$Profile->setConfigEncryption(true);
$Profile->setConfigBackup(true);
$Profile->setMgmCategories(true);
$Profile->setMgmCustomers(true);
$Profile->setMgmUsers(true);
$Profile->setMgmGroups(true);
$Profile->setMgmProfiles(true);
$Profile->setEvl(true);
if (!$Profile->profileAdd()) {
self::rollback();
throw new SPException(SPException::SP_CRITICAL, _('Error al crear el perfil "admin"'), _('Informe al desarrollador'));
}
// Datos del usuario
$User->setUserLogin(self::$_username);
$User->setUserPass(self::$_password);
$User->setUserName('Admin');
$User->setUserProfileId($Profile->getId());
$User->setUserIsAdminApp(true);
$User->setUserIsAdminAcc(false);
$User->setUserIsDisabled(false);
if (!$User->addUser()) {
self::rollback();
throw new SPException(SPException::SP_CRITICAL, _('Error al crear el usuario "admin"'), _('Informe al desarrollador'));
}
// Guardar el hash de la clave maestra
ConfigDB::setCacheConfigValue('masterPwd', Crypt::mkHashPassword(self::$_masterPassword));
ConfigDB::setCacheConfigValue('lastupdatempass', time());
ConfigDB::writeConfig(true);
if (!$User->updateUserMPass(self::$_masterPassword)) {
self::rollback();
throw new SPException(SPException::SP_CRITICAL, _('Error al actualizar la clave maestra del usuario "admin"'), _('Informe al desarrollador'));
}
}