Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases > Coding Snippets
You last visited: Today at 20:44

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[PHP] Easy Passwordgenerator

Discussion on [PHP] Easy Passwordgenerator within the Coding Snippets forum part of the Coding Releases category.

Reply
 
Old   #1
 
C0RE''s Avatar
 
elite*gold: 40
Join Date: Mar 2013
Posts: 1,394
Received Thanks: 778
[PHP] Easy Passwordgenerator

Hallo Leute, heute möchte ich euch meine Selbstprogrammierte Klasse vorstellen. Es handelt sich dabei um ein Passwort Generator.


Das benutzen der Klasse ist sehr einfach:

PHP Code:
include 'class.php';

$rd                     = new Passwordgenerator();
$rd->Length             10;
$rd->Specialcharacters  '#$"/';
$rd->Numbers            '0123456789';
$rd->Letters            'ABCDEFGHIJKLMQRSTUVWXYZabcdefghijklmnpqrstuvwxyz'
Wie hier gezeigt, könnt ihr die Länge, Sonderzeichen, Zahlen und Buchstaben selbst bestimmen.

Nun gibt es zwei Möglichkeiten ein / oder mehrere Passwörter zu generieren:

Die einfache Variante um ein Passwort auszugeben:
PHP Code:
echo $rd->generate(); 
Wenn ihr 10 Passwörter ausgeben wollt, einfach die Anzahl als Integer oder String als Argument eintragen:
PHP Code:
echo $rd->generate(10); 
Ich hoffe, es gefällt euch. Für Feedback und Kritik würde ich mich freuen.

Class.php:

Test.php:
C0RE' is offline  
Thanks
1 User
Old 01/14/2014, 14:36   #2
 
elite*gold: 25
Join Date: Sep 2011
Posts: 5,537
Received Thanks: 1,266
Hätte man das nicht einfach als einzelne Funktion schreiben können?

---

PHP Code:
$Chars  "$this->Specialcharacters$this->Numbers$this->Letters"
String Verkettung finde ich schöner

PHP Code:
if($this->Length == '')$this->Length 10
Würde ich wenn ohne klammern wenigstens unter einander machen.
Noch besser wäre einen Default wert bereits oben zu definieren.

PHP Code:
$results       .= implode($pass)."<br>"
Lieber nen Array erstellen, und diesen ausgeben - evtl. will jemand die Passwörter ja nicht ausgeben
IchVerabschiedeMich is offline  
Old 01/14/2014, 17:15   #3
 
C0RE''s Avatar
 
elite*gold: 40
Join Date: Mar 2013
Posts: 1,394
Received Thanks: 778
Hey, danke erstmal für dein kleines Feedback b.z deine Korrektur.

Quote:
Originally Posted by Padrio View Post
Hätte man das nicht einfach als einzelne Funktion schreiben können?
Ich finde Klassen schöner
Quote:
Originally Posted by Padrio View Post
PHP Code:
$Chars  "$this->Specialcharacters$this->Numbers$this->Letters"
String Verkettung finde ich schöner
PHP Code:
$Chars  $this->Specialcharacters && $this->Numbers && $this->Letters
Hinzugefügt
Quote:
Originally Posted by Padrio View Post
PHP Code:
if($this->Length == '')$this->Length 10
Würde ich wenn ohne klammern wenigstens unter einander machen.
Noch besser wäre einen Default wert bereits oben zu definieren.
Stimmt, default wäre natürlich am besten
Quote:
Originally Posted by Padrio View Post
PHP Code:
$results       .= implode($pass)."<br>"
Lieber nen Array erstellen, und diesen ausgeben - evtl. will jemand die Passwörter ja nicht ausgeben
Joaaaaaaaaa, füge ich noch hinzu
C0RE' is offline  
Old 01/14/2014, 17:15   #4
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Quote:
Hätte man das nicht einfach als einzelne Funktion schreiben können?
Wenn ich eine Klasse habe, die gerne Passwörter erzeugen möchte, es ihr aber egal ist, wie diese Passwörter erzeugt werden, kann ich der Klasse ein Objekt seines Passwort-Generators übergeben, so dass meine Klasse mit generate() immer irgendein Passwort bekommt.

Wäre das eine Funktion könnte ich den Algorithmus nicht austauschen und ich müsste meiner Klasse alle Parameter die für die Generierung des Passworts nötig sind übergeben, obwohl sich die Klasse ja eigentlich gar nicht dafür interessiert, wie diese aussehen.

Gegenfrage: Was spricht dagegen, das als eine Klasse zu schreiben?

Quote:
$Chars = $this->Specialcharacters && $this->Numbers && $this->Letters;
Man kann Zeichenketten mit einem logischen Und konkatenieren? (ernste Frage, das geht in PHP?)
dowhile is offline  
Thanks
1 User
Old 01/14/2014, 17:21   #5
 
C0RE''s Avatar
 
elite*gold: 40
Join Date: Mar 2013
Posts: 1,394
Received Thanks: 778
Hehe, habe es oben schon mit "Punkt" . gemacht ^^ War ein denkfehler von mir

Btw: Bin von der Ladezeit bei 10 Tausend Passwörtern erstaunt. Diese beträgt: 0.228 Sekunden
Nicht so, das man das irgendwie gebrauchen könnte

Außerdem beträgt die Ladezeit bei einem Passwort mir einer Länge von 100.000 Zeichen nur 0.235 Sekunden.

Sehr schwachsinnig da man dies im normalfall nicht macht.
C0RE' is offline  
Old 01/18/2014, 05:28   #6
ベトナム警察




 
Lumi's Avatar
 
elite*gold: 725
The Black Market: 516/0/0
Join Date: Jan 2012
Posts: 16,378
Received Thanks: 3,429
Du könntest auch statt in die Variable die einzelne Buchstaben und Zahlen reinzuschreiben, einen array mit einer Funktion namens range() erstellen. Korrigiert mich, wenn ich falsche liege. Ansonsten nette Funktion.
Lumi is offline  
Old 01/18/2014, 18:12   #7
 
elite*gold: 0
Join Date: Jan 2014
Posts: 13
Received Thanks: 3
Danke sehr.
єтєяηιту is offline  
Old 01/18/2014, 18:15   #8
 
elite*gold: 25
Join Date: Sep 2011
Posts: 5,537
Received Thanks: 1,266
Quote:
Originally Posted by ​Lumi View Post
Du könntest auch statt in die Variable die einzelne Buchstaben und Zahlen reinzuschreiben, einen array mit einer Funktion namens range() erstellen. Korrigiert mich, wenn ich falsche liege. Ansonsten nette Funktion.
Range kann aber keine Sonderzeichen generieren?
Ansonsten würde ich sie als vor definierten wert nehmen.
IchVerabschiedeMich is offline  
Old 01/19/2014, 19:40   #9
ベトナム警察




 
Lumi's Avatar
 
elite*gold: 725
The Black Market: 516/0/0
Join Date: Jan 2012
Posts: 16,378
Received Thanks: 3,429
Quote:
Originally Posted by Padrio View Post
Range kann aber keine Sonderzeichen generieren?
Ansonsten würde ich sie als vor definierten wert nehmen.
Nein, von Sonderzeichen war hier auch nie die Rede.
Lumi is offline  
Old 01/21/2014, 20:22   #10



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
Ich finde es ein klein wenig umständlich von dir gelöst, kann man viel einfacher machen.

PHP Code:
public function GetRandomString$length 32 )
{
    
$retval '';
    
$string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    
mt_srand( (double)microtime() * 1000000 );
    for( 
$i 1$i <= $length$i++ )
        
$retval .= substr$stringmt_rand0strlen$string ) -), );
    return 
$retval;

Sedrika is offline  
Old 01/22/2014, 14:14   #11
 
C0RE''s Avatar
 
elite*gold: 40
Join Date: Mar 2013
Posts: 1,394
Received Thanks: 778
Quote:
Originally Posted by Sedrika View Post
Ich finde es ein klein wenig umständlich von dir gelöst, kann man viel einfacher machen.

PHP Code:
public function GetRandomString$length 32 )
{
    
$retval '';
    
$string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    
mt_srand( (double)microtime() * 1000000 );
    for( 
$i 1$i <= $length$i++ )
        
$retval .= substr$stringmt_rand0strlen$string ) -), );
    return 
$retval;

Mit dieser funktion kannst du höchstens 1 Passwort auf einmal generieren.

Ich habe es Benutzerfreundlich in eine Klasse geschrieben, jedoch danke für dein Feedback
C0RE' is offline  
Old 01/22/2014, 14:46   #12
 
elite*gold: 25
Join Date: Sep 2011
Posts: 5,537
Received Thanks: 1,266
Quote:
Originally Posted by C0RE' View Post
Mit dieser funktion kannst du höchstens 1 Passwort auf einmal generieren.

Ich habe es Benutzerfreundlich in eine Klasse geschrieben, jedoch danke für dein Feedback
Führ die Funktion in einer For() schleife aus und du hast mehrere...
IchVerabschiedeMich is offline  
Old 01/22/2014, 15:10   #13

 
Ravenstorm's Avatar
 
elite*gold: 0
The Black Market: 100/0/0
Join Date: Jan 2010
Posts: 13,150
Received Thanks: 3,207
*hust*

*hust*

Eine Schleife drum rum und du hast das gleiche Ergebnis und es ist einfacher in ein controller zu packen.
Ravenstorm is offline  
Old 01/23/2014, 19:52   #14



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
Quote:
Originally Posted by C0RE' View Post
Mit dieser funktion kannst du höchstens 1 Passwort auf einmal generieren.

Ich habe es Benutzerfreundlich in eine Klasse geschrieben, jedoch danke für dein Feedback
Dann erweitert man diese kurz halt.

PHP Code:
public function GetRandomString$length 32$count )
{
    
$retval null;
    
$string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    for( 
$j 0$j $count$j++ )
    {
        
mt_srand( (double)microtime() * 1000000 );
        for( 
$i 1$i <= $length$i++ )
        {
            
$retval[] = substr$stringmt_rand0strlen$string ) -), );
        }
    }
    return 
$retval;

Damit hast du das ganze schön in einem Array.
Sedrika is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Pumio Mini D3D v2 easy hack (chams,no recoil and more easy hax) only for pro cqc
07/02/2011 - WarRock Hacks, Bots, Cheats & Exploits - 2 Replies
Download: Multiupload.com - upload your files to multiple file hosting sites! VirusTotal: https://www.virustotal.com/file-scan/report.html?i d=67df2e20df80a2dc9f794783d9be488c9d7511c89dc81258 16b6dcd5b6dd85ef-1309520821 Screen: ImageShack&#174; - Online Photo and Video Hosting
Pumio PMini D3D v2 easy hack (chams,no recoil and more easy hax) only for pro cqc
07/01/2011 - WarRock Hacks, Bots, Cheats & Exploits - 3 Replies
DL: Multiupload.com - upload your files to multiple file hosting sites! VT: https://www.virustotal.com/file-scan/report.html?i d=67df2e20df80a2dc9f794783d9be488c9d7511c89dc81258 16b6dcd5b6dd85ef-1309520821 Screen: ImageShack&#174; - Online Photo and Video Hosting



All times are GMT +2. The time now is 20:44.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.