zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Char oder Varchar

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 12.09.2010, 12:32
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard Char oder Varchar

Hi,
ich steh vor einem kleinem Problem:

Ich bin dabei eine Benutzerregistrierung einzurichten. Man kann über das Backend einstellen wie lange ein Benutzername sein darf, also z.B. 20 Zeichen. Wenn ich jetzt Char mit einer festen länge nutze und jemand diese 20 Zeichen auf, z.B. 25 erhöht, müsste ich die Char länge auch erhöhen. Der Nachteil ist, dass ich sie dannach nicht mehr auch 20 setzten kann, weil sich ja dann ein Name mit 25 Zeichen darin befindet.

Ich könnte das ganze auch mit varchar machen und somit dynamisch bleiben und könnte ihn auch nachträglich runtersetzten. Was ich mich frage, für was ist dann das Länge Attribut bei Varchar, wenn sie doch dynamisch ist?

Ich habe hier gelesen, dass statisch durchaus Vorteile hat:
CHAR oder VARCHAR? Statisch oder dynamisch? Beitrag PHP Performance

Danke schon Mal

LG rs-web
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 12.09.2010, 13:37
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von rs-web Beitrag anzeigen
Was ich mich frage, für was ist dann das Länge Attribut bei Varchar, wenn sie doch dynamisch ist?
Das ist die maximale Anzahl der Zeichen die ein Varchar-Feld aufnehmen kann, also ähnlich wie beim Char, nur dass nicht benötigter Platz bei Varchar nicht durch Leerzeichen aufgefüllt wird.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 12.09.2010, 13:46
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
ok danke. Wenn ich jetzt ein Passwort habe, dass unverschlüsselt maximal 60 Zeichen lang sein darf, wie lang soll dann die varchar spalte werden?

LG rs-web
Mit Zitat antworten
  #4 (permalink)  
Alt 12.09.2010, 14:01
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Zitat:
Zitat von rs-web Beitrag anzeigen
Hi,
ok danke. Wenn ich jetzt ein Passwort habe, dass unverschlüsselt maximal 60 Zeichen lang sein darf, wie lang soll dann die varchar spalte werden?

LG rs-web
Kommt drauf an, wie du das verschlüsselst. MD5 ist, soweit ich weiß verschlüsselt immer 32 Zeichen lang. Wenn du eine Verschlüsselungsmethode wie Whirlpool nimmst, dann ist diese Kette immer 128 Zeichen lang. Es kommt halt darauf an. Ich speichere meine Passwörter immer als 138-Zeichen langen salted-Hash, was schon sehr viele Zeichen sind und verschlüssel dabei mehrfach.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #5 (permalink)  
Alt 12.09.2010, 14:03
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
das mit dem salted Hash klingt interessant. Ich hatte zwar eig. sha1() geplant.

LG rs-web
Mit Zitat antworten
  #6 (permalink)  
Alt 12.09.2010, 14:27
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Du kannst jeden Hash salzen.

Ein Beispiel für die Umsetzung findest zu hier:
http://xhtmlforum.de/48700-nochmal-i...tml#post357502
Mit Zitat antworten
  #7 (permalink)  
Alt 12.09.2010, 15:36
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Nur zur Info: Zumindest in älteren Versionen von mysql war das so, dass wenn die Tabelle ein varchar Feld enthält, alle anderen char Felder automatisch zu varchar umgewandelt werden. D.h. um den nutzen von char zu bekommen, musst du dafür sorgen, dass alle Felder char sind.
Mit Zitat antworten
  #8 (permalink)  
Alt 12.09.2010, 15:39
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

War es nicht generell so, dass wenn du ein char-Feld nutzen willst, alle anderen Felder der Tabelle auch statisch sein mussten? Egal ob varchar, text oder sonst was?
Ich glaube nicht, dass sich daran was geändert hat
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #9 (permalink)  
Alt 12.09.2010, 16:32
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Ich wollte es so formulieren, dann ist mir aber kein Feld eingefallen, das nicht statisch sein kann (ausser Text, Blob u.ä.). Aber man kann es sicher auch so sagen.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 12.09.2010, 19:18
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.07.2009
Beiträge: 969
rs-web befindet sich auf einem aufstrebenden Ast
Standard

Hi,
danke für eure Antworten. Um noch mal auch das salten zurück zu kommen, hier Gumbos Funktion:

PHP-Code:
function randCrypt$str$salt=null )
{
    if( 
is_null($salt) ) {
        
$s substr(md5(uniqid(rand())), 08);
    } else {
        
$s substr($salt08);
    }
    
$h $s.md5($s.$str);
    if( !
is_null($salt) ) {
        return 
$salt === $h;
    }
    return 
$h;

wie soll sich denn der User da einloggen, wenn er den Salt nicht kennt? Der Sinn ist doch, dass man zm Passwort, noch einen Zufallsstring verschlüsselt oder?

LG rs-web
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Chat-Thread paracelsus Offtopic 22838 27.09.2022 14:27
MySQL: Zahlen als INT oder (VAR)CHAR? fox Serveradministration und serverseitige Scripte 36 12.01.2011 23:04
Wie kann ich mit PHP einen Varchar Freischaltcode generieren? braindead Serveradministration und serverseitige Scripte 7 23.03.2007 11:57
#1064 Error - Konflikt zwischen zwei Datenbank versionen? pRe Serveradministration und serverseitige Scripte 8 11.02.2007 13:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:22 Uhr.