private function setSecurePassword(&$entity) { $entity->setSalt(md5(time())); $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder('sha512', true, 10); $password = $encoder->encodePassword($entity->getPassword(), $entity->getSalt()); $entity->setPassword($password); }
private function fillEntity($entity, $data) { $camposObligatorios = array('nombre', 'email', 'password', 'tlf'); if (Herramientas::allFields($camposObligatorios, $data)) { $em = $this->getDoctrine()->getManager(); $entity->setNombre($data['nombre']); $entity->setEmail($data['email']); $entity->setTlf($data['tlf']); if ($data['password'] != $entity->getPassword()) { $entity->setSalt(md5(time())); $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder('sha512', true, 10); $password = $encoder->encodePassword($data['password'], $entity->getSalt()); $entity->setPassword($password); } $entity->clearRoles(); if (isset($data['roles']) && !empty($data['roles'])) { foreach ($data['roles'] as $value) { $rol = $em->getRepository('EtsiAppGuiasBundle:Rol')->find($value); $entity->addRole($rol); } } $em->persist($entity); $em->flush(); return true; } return false; }
/** * @param string $name * @param string $username * @param string $password * @param string $email * @param array $roles * @param \Doctrine\Common\Persistence\ObjectManager $manager * * @return \ServerGrove\KbBundle\Document\User */ private function createUser($name, $username, $password, $email, array $roles, ObjectManager $manager) { $user = new User(); $user->setName($name); $user->setUsername($username); $user->setEnabled(true); $user->setLocked(false); $user->setEmail($email); foreach ($roles as $role) { $user->addRole($role); } # @todo Fix this $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder(); $user->setPassword($encoder->encodePassword($password, $user->getSalt())); $manager->persist($user); return $user; }
private function createTestUser() { $user = new User(); $user->setName('Test User'); $user->setUsername('mytestuser'); $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder(); $user->setPassword($encoder->encodePassword('mytestpass', $user->getSalt())); $user->setEmail('*****@*****.**'); $user->setEnabled(true); $user->setRoles(array('ROLE_ADMIN')); $dm = $this->getDocumentManager(); /** @var $session \PHPCR\SessionInterface */ $session = $dm->getPhpcrSession(); $root = $session->getNode('/'); if (!$root->hasNode('users')) { $root->addNode('users'); } $dm->persist($user); $dm->flush(); }
$passwords = []; $f = fopen(__DIR__ . '/adobe-top100.txt', 'r'); while (($buffer = fgets($f, 1024)) !== false) { $matches = []; if (preg_match('/^\\d+\\.\\s+\\d+\\s+\\S+\\s+(\\w+)$/', $buffer, $matches)) { $passwords[] = $matches[1]; } } fclose($f); try { $db = new \PDO('mysql:host=localhost;dbname=' . $config['dbname'], $config['user'], $config['password']); } catch (\PDOException $e) { echo "Error: " . $e->getMessage() . PHP_EOL; exit(1); } $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder($config['algorithm'], $config['encode_hash_as_base64'], $config['iterations']); $userTable = $config['table']; $upd = $db->prepare("UPDATE `{$userTable}` SET `checked` = 1 WHERE `id` = :id"); $success = $db->prepare("UPDATE `{$userTable}` SET `checked` = 1, `plain_password` = :password WHERE `id` = :id"); do { $sth = $db->query("SELECT * FROM `{$userTable}` WHERE `checked` = 0 AND `plain_password` IS NULL LIMIT 1", \PDO::FETCH_ASSOC); $count = $sth->rowCount(); $item = $sth->fetch(); $id = (int) $item['id']; foreach ($passwords as $password) { $hash = $encoder->encodePassword($password, $item['salt']); if ($hash == $item['password']) { echo sprintf('%s - %s', $item['username'], $password) . PHP_EOL; $success->execute([':id' => $id, ':password' => $password]); break; }
/** * * * @Route("/autorizarmodventapaquete/", name="admin_autorizar_ventapaquete", options={"expose"=true}) * @Method("POST") * @Template() */ public function autorizarmodventapaqueteAction() { $isAjax = $this->get('Request')->isXMLhttpRequest(); if ($isAjax) { $em = $this->getDoctrine()->getManager(); $username = $this->get('request')->request->get('username'); $password = $this->get('request')->request->get('password'); $entity = $em->getRepository('DGPlusbelleBundle:Usuario')->findBy(array('username' => $username)); //var_dump($entity); if (count($entity) != 0) { $entity = $entity[0]; $pass = $password; $salt = $entity->getSalt(); $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder('sha512', true, 10); $password = $encoder->encodePassword($pass, $salt); //$entity->setPassword($password); //var_dump($pass); //var_dump($salt); $entity = $em->getRepository('DGPlusbelleBundle:Usuario')->findBy(array('password' => $password)); //var_dump($entity); //$this->setSecurePassword($entity); //var_dump(count($entity)); if (count($entity) == 1) { $exito['regs'] = 0; //Acceso permitido } else { $exito['regs'] = 1; //Acceso no permitido } } else { $exito['regs'] = 2; //No existe el usuario } } else { return new Response('0'); } return new Response(json_encode($exito)); }
protected static function addUser($username, $password, $adminRoleId) { $user = new \RedKiteLabs\RedKiteCms\RedKiteCmsBundle\Model\User(); $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder(); $salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36); $password = $encoder->encodePassword($password, $salt); $user->setSalt($salt); $user->setPassword($password); $user->setRoleId($adminRoleId); $user->setUsername($username); $user->setEmail(''); $user->save(); }
private function getSecurePassword($password, $salt) { $encoder = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder('sha512', true, 10); $pass = $encoder->encodePassword($password, $salt); return $pass; }