/** * (non-PHPdoc) * * @see \Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface::encodePassword() */ public static function encodePassword(Password $password) { $password->setHash(self::NTLMHash($password->getPasswordPlain())); $password->setPasswordPlain(null); $password->setId('default'); $password->setEncoder(NtEncoder::class); }
public function testServiceInvalide() { $service = new Service(""); $this->assertNotEmpty($this->validator->validate($service)); $service = new Service("testService"); $invalidPassword = new Password(); $invalidPassword->setId("invalidö"); $invalidPassword->setPasswordPlain("123456"); $service->addPassword($invalidPassword); $this->assertNotEmpty($this->validator->validate($service)); }
public function testPasswordEncoder() { $password = new Password("testId"); $password->setPasswordPlain("123456"); $this->encoder->encodePassword($password); $this->assertGreaterThan(10, strlen($password->getHash())); $password->setPasswordPlain("654321"); $this->assertFalse($this->encoder->isPasswordValid($password)); $password->setPasswordPlain("123456"); $this->assertTrue($this->encoder->isPasswordValid($password)); $password2 = $this->encoder->parsePassword($password->getHash()); $this->assertEquals($password->getId(), $password2->getId()); $this->assertEquals($password->getHash(), $password2->getHash()); }
/** * (non-PHPdoc) * * @see \Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface::encodePassword() */ public function encodePassword(Password $password) { $rounds = 60000; // incresed rounds for harder bruteforce $salt = ""; if ($password->getId() != null && $password->getId() != "") { $salt = $this->getRandomeSalt(16 - strlen($password->getId())); $salt = $password->getId() . "=" . $salt; } else { $salt = 'main=' . $this->getRandomeSalt(); } $hash = crypt($password->getPasswordPlain(), '$6$rounds=' . $rounds . '$' . $salt . '$'); $password->setHash('{crypt}' . $hash); $password->setPasswordPlain(null); }
/** * (non-PHPdoc) * * @see \Symfony\Component\Security\Core\Encoder\PasswordEncoderInterface::encodePassword() */ public static function encodePassword(Password $password) { $rounds = 60000; // incresed rounds for harder bruteforce $salt = ""; if ($password->getId() != null && $password->getId() != "") { $salt = self::getRandomeSalt(16 - strlen($password->getId())); $salt = $password->getId() . ($password->isMasterPassword() ? '+' : '=') . $salt; } else { $salt = 'default=' . self::getRandomeSalt(); } $hash = crypt($password->getPasswordPlain(), '$6$rounds=' . $rounds . '$' . $salt . '$'); $password->setHash('{crypt}' . $hash); $password->setPasswordPlain(null); $password->setEncoder(CryptEncoder::class); }
protected function execute(InputInterface $input, OutputInterface $output) { $helper = $this->getHelper('question'); // read password $password = ""; if ($input->getArgument('password')) { $password = $input->getArgument('password'); } else { $question = new Question('Please enter password:'); $question->setHidden(true); $password = $helper->ask($input, $output, $question); } $encoder = new CryptEncoder(); $pw = new Password(); $pw->setPasswordPlain($password); $encoder->encodePassword($pw); $output->writeln($pw->getHash()); return 0; }
public function testPasswordInvalide() { $password = new Password(); // no plain password and no hash $password->setId("valid"); //$this->assertNotEmpty($this->validator->validate($password)); $password->setPasswordPlain("123456"); $password->setId("0"); $this->assertNotEmpty($this->validator->validate($password)); $password->setId(null); $this->assertNotEmpty($this->validator->validate($password)); $password->setId(""); // empty id $this->assertNotEmpty($this->validator->validate($password)); $password->setId("df."); // invalide char $this->assertNotEmpty($this->validator->validate($password)); $password->setId("0101sfdgfda"); // to long $this->assertNotEmpty($this->validator->validate($password)); }
/** * @param Request $request * @return Response * @Route("/do",name="registraion_do") */ public function registrationAction(Request $request) { $response = new Response(); $form = $this->createForm(RegistrationType::class, new User()); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $user = $form->getData(); if (in_array(strtolower($user->getUsername()), $this->get('cloud.ldap.userprovider')->getUsernames()) || $em->getRepository('CloudRegistrationBundle:User')->findOneByUsername($user->getUsername())) { return $response->setContent(json_encode(['successfully' => false, 'errors' => ['message' => 'user exiests']])); } $password = new Password(); $password->setPasswordPlain($user->getPassword()); $encoder = new CryptEncoder(); $encoder->encodePassword($password); $user->setPasswordHash($password->getHash()); $em->persist($user); $em->flush(); } else { return $response->setContent(json_encode(['successfully' => false, 'errors' => ['message' => $form->getErrors(true)->__toString()]])); } return $response->setContent(json_encode(['successfully' => true, 'message' => 'Your account need to get activated by a admin'])); }