/** * Creates a new and configured instance of {@link Bcrypt}. * * @param boolean $broken Force broken implementation? * * @return Bcrypt A new instance. */ public static function create($broken = false) { $bcrypt = new self($broken); $bcrypt->addSaltGenerator(new McryptSaltGenerator()); $bcrypt->addSaltGenerator(new OpenSslSaltGenerator()); $bcrypt->addSaltGenerator(new DevRandomSaltGenerator('/dev/urandom')); $bcrypt->addSaltGenerator(new CryptoApiSaltGenerator()); return $bcrypt; }