Suchergebnisse

Suchergebnisse 1-24 von insgesamt 24.

  • Benutzer-Avatarbild

    Vielleicht hab ich mich beim Thema Sicherheit noch nicht ausreichend reingekniet, aber ich blick's gerade nicht. Aus nem MD5-Hashwert kann man kein Passwort wiederherstellen - ohne ne Rainbowtable herzunehmen. Das ist ja der Sinn der Sache. Hashes sind m.E. Einbahnstraßen. Würde das gehen, dann könnte man ja auch als Außenstehender das "verschlüsselte Passwort" (was ein Hashwert nicht ist!) zu nem Klartext machen. Im Sinne von: Sag Du mir, was Du für nen Hash-Algorithmus verwendest und ich sag D…

  • Benutzer-Avatarbild

    Sag ich ja, Rainbow table. Sagt ja auch die von Dir verlinkte Seite: Zitat von gromweb: „Unfortunately, there is a way to decrypt a MD5 hash, using a dictionary populated with strings and their MD5 counterpart. As most users use very simple passwords (like "123456", "password", "abc123", etc), MD5 dictionaries make them very easy to retrieve.“ Oder vielleicht bin ich n bisken zu ego und fühl mich mit dem Zitat von SpaceyX: „Das ist alles Quatsch.“fälschlicherweise auch angesprochen.

  • Benutzer-Avatarbild

    Zitat von DerSmurf: „Wer sein Programm mit Settings dann hochläd ist wohl selber schuld.“Wer sollte denn als Endnutzer Dein Programm hochladen? Die Settings sind eh in nem Extraordner abgespeichert. Klar, wer das dann mitliefert, ist quasi selber schuld. Aber Moment! Du bist der Programmerzeuger. Wenn Du das nicht irgendwo dokumentierst, dass man gewisse Sachen nicht machen sollte, kannst Du dafür verantwortlich gemacht werden! Zum anderen: Du könntest ein tDS zum Abspeichern der Daten zu verwen…

  • Benutzer-Avatarbild

    @SpaceyX: Schön, dass wir uns auch in diesem Punkt einig sind (tDS = meine Abkürzung für typisiertes DataSet, entsprechend meiner Signatur); DerSmurf kennt den Umgang mit DataSets schon, hat er in seinem Erstthread ausführlich (dazu)gelernt. Aber gut, dass Du es nochmal so ausführlich beschrieben hast.

  • Benutzer-Avatarbild

    Nun, Du kannst mehrere tDSs verwenden, es ist ja möglich. Nur eben komplizierter. Und abhängig davon, ob Du die EdR-Helper benutzt, ggf. nicht ohne weiteres möglich. Aber unmöglich ist es nicht. Aber es geht auch m.E. einfacher: Bevor Du den Inhalt des Haupt-tDS speicherst, verschlüssele und speichere den Inhalt der Settings-Table in eine Extra-Datei, lösche den Settings-Table-Inhalt und speichere dann den kompletten (Rest vom) tDS-Inhalt. WriteXML geht ja nicht nur für's tDS, sondern auch für n…

  • Benutzer-Avatarbild

    Zitat von Dksksm: „Warum das nicht, was soll daran jetzt schwierig sein?“Ich habe keine Ahnung von den Möglichkeiten der EdR-Helpers, da ich sie nicht nutze. Zitat von Dksksm: „Was machst Du wenn Du generelle Einstellungen ändern musst aber die aktuellen Einstellungen des Benutzers nicht ändern darfst ohne dass dieser Zustimmt?“Keine Ahnung, in welcher Situation DerSmurf sich da befindet. Wenn das Programm das nicht darf, dann stellt sich die Frage, wie Du sicherstellst, dass das Programm keinen…

  • Benutzer-Avatarbild

    Nö, ich erkenne auf Anhieb da auch keine Probleme. Ich sehe, wir sind diesbezüglich auf einer Wellenlänge. Denn DerSmurf nutzt die Helpers. Und da steige ich mit meinem Wissen aus. Wie ich pur 2 tDS nutzen könnte, wüsste ich (entsprechend auch). Aber DerSmurf ist eben da in anderer Situation. Und eben da kann ich ihm nicht weiterhelfen. Da muss er sich schon an EdR wenden.

  • Benutzer-Avatarbild

    Zitat von DerSmurf: „Was bringt es mir meine Mailpasswörter in meinem Programm mit einem Kennwort zu sichern, wenn jeder der Zugriff auf meinen PC bekommt auch ein anderes Programm öffnen kann, welches diese Passwörter eben ohne Passwortschutz bereithält“Dann kommen wir zum allerersten Post zurück: Zitat von DerSmurf: „Wie kann ich meine Maildaten sicher im Programm hinterlegen“ Zitat von DerSmurf: „woher weiß meine Verschlüsselung, welches Passwort korrekt ist?“Deine Daten sind verschlüsselt. W…

  • Benutzer-Avatarbild

    Um noch mehr Klarheiten zu beseitigen, hier auch mein Senf dazu: Du hast nen Klartext. Das ist zum Anfang die erste Komponente (K1). Dann kommen Passwort und Salt, K2 und K3. All diese 3 Komponenten legst Du zum Anfang selber fest. Aus diesen dreien errechnet der Verschlüsselungsalgorithmus einen verschlüsselten Text, irgend ein Byte-Kuddelmuddel. Und dieses Byte-Kuddelmuddel lässt sich später mit K2 und K3 wieder zu K1 machen. Wenn Du K1 wieder hast (also wieder Klartext), kannst Du auch ein ne…

  • Benutzer-Avatarbild

    Jup, so (ähnlich) würde ich es auch machen. Das Gleiche kannst Du auch mit dem Salt machen, allerdings musst Du dafür natürlich dessen Bytes bekommen. Ich hab mal irgendwo was für AES gefunden (leider keine Quelle mehr, aber der Code ist nicht auf meinem Mist gewachsen halt, hab's aus'm vb@rchiv) und ein wenig modifiziert. Das nutze ich bei mir: (Versteckter Text)

  • Benutzer-Avatarbild

    Joa, wenn's passt. Sieht auf den 1. Blick ganz passabel aus. Zwei Kleinigkeiten, die aber an sich problemirrelevant sind: Die Functions GetEncryptionStream() und GetDecryptionStream() sind bis auf ein Detail in 2 Zeilen identisch. Daher ließe sich da einiges zusammenfassen. Sollte man auch, v.a. wenn man mit Code zu tun hat, der ... schwieriger zu verstehen ist. Also sowas dann: VB.NET-Quellcode (18 Zeilen) und in tbPWleeren(): Es gibt auch die Möglichkeit mit TBpw1.Clear() zu arbeiten. Ist saub…

  • Benutzer-Avatarbild

    Hab ich sauber übersehen. Allerdings erübrigt sich (dann auch) meine Parameterübergabe und man kann gleich zu nem (von mir am liebsten gemiedenen) Boolean-Parameter übergehen: (Versteckter Text)

  • Benutzer-Avatarbild

    Na ist ja auch klar. Du rufst im Hauptform das Subform per .Show() auf. Und wenn man im Subform nen Doppelklick macht, wird das Subform geschlossen. Und mehr lässt Du ja nicht machen. Was soll da auch noch mehr passieren, Du veranlasst ja keine Änderungen. Nur weil im Subform was ausgewählt wird, ändert sich ja im Hauptform nix. Sinnvoller wäre das hier: VB.NET-Quellcode (6 Zeilen) Die Auswahl im Subform ändert jetzt das Lieferanten-Current im Hauptform. Ist zwar wegen Verwendung von Position ni…

  • Benutzer-Avatarbild

    Deine Hauptform-BindingSource (BS) und Subform-BS sind doch aber zwei (unabhängige) Instanzen. Du änderst doch nur in der Subform die Position der dortigen BS. Das ändert doch nix am tDS an sich. Das wäre so, als ob man 2 Objekte mit gleichem Namen hat, das eine ändert und sich plötzlich das andere auch ändert, obwohl es in einer anderen Klasse ist.

  • Benutzer-Avatarbild

    Das Vorgehen ist schon richtig, das Du da zusammengeschrieben hast. Zeile#3 ist m.E. irrelevant. Ich hab noch nicht bei mir erlebt, dass Current Nothing ist, während in der BindingSource.List mindestens ein Eintrag war. Aber hey, Stichwort UnitTests. Probier es aus. Wenn Du nicht nur 1 sondern 15 Werte ändern willst (gleichzeitig?), dann kommst Du an Deiner Vermutung bzgl. umständlich nicht vorbei. Ich würde es auch so machen. Oder ggf. gleich die komplette Row ersetzen? Oder vielleicht geht es …

  • Benutzer-Avatarbild

    Hab's mit AcceptChanges und RejectChanges probiert. Klappt. Musst Du dann nur schauen, ob's irgendwelche Auswirkungen auf Deine Speichermethode hat. Wenn Du Dein tDS immer abspeicherst, dann isses wurscht. Wenn Du es abhängig von der Funktion DeinTds.HasChanges() machst, dann klappt das nicht mehr immer, weil: Wenn Du nur eine DataTable hättest und auf die wendest Du .AcceptChanges() an, dann meldet DeinTds.HasChanges(): False. Also obacht!

  • Benutzer-Avatarbild

    Ja, fast. Denn an sich brauchst Du das AcceptChanges ja nicht. Nur eben, wenn die Möglichkeit besteht, dass man alternativ auch RejectChanges aufrufen könnte. Aber vielleicht ist das der Plan und ich schlussfolgere aufgrund des kleinen Codesnippets falsch. Nochmal allgemein zusammengefasst der Ablauf.1. tDS ist leer; dies ist der Anfangszustand 2. Daten werden ins tDS laden → würde man tDS.HasChanges() aufrufen, käme True zurück 3. AcceptChanges für ne DataTable X aufrufen* → Status 1 wird als I…

  • Benutzer-Avatarbild

    Zitat von DerSmurf: „Tausche ich die Net7 und Note Zeile, wird nur Note ins DataSet geschrieben.“Dann liegt ein Programmfehler vor. Das passiert bei mir nicht. Ich kann alle Properties einer DataRow bearbeiten und die werden alle übernommen. Zitat von DerSmurf: „Eigentlich verstehe ich überhaupt nicht, warum im DataSet etwas verändert wird (ich dachte Anfangs dafür wäre des AcceptChanges, was ich zu Beginn im Code hatte).“Wieso? Du manipulierst doch den tDS-Inhalt ganz aktiv. Zitat von DerSmurf:…

  • Benutzer-Avatarbild

    Davon ausgehend, dass bei beiden TextBoxen beim DataBinding Datenquellen-Aktualisierungsmodus auf Never steht: Hau mal als letzte Zeile noch dazu: DTOrdersBindingSource.ResetCurrentItem() Wenn das nix bringt, poste ich n Testprojekt, wo es klappt.

  • Benutzer-Avatarbild

    Nope, da kann ich momentan nicht weiterhelfen. Da muss irgendwas in Deinem Code sein, was dem Ganzen eine Linie auf die Abrechnung malt. Daher mein Testprojekt anbei. Die Textboxen sind beide an die BS "mit Never gebunden" zu Deinem Edit2: Boah, das ist benutzerabhängig. Wenn man mehrere Programme geschrieben hat, sollte man sich einfach nur eine Variante angewöhnen und diese beibehalten. Denn wenn in einem Programm mit [Speichern] ist, beim nächsten mit Key-Events und beim 3. mit 2-Wege-DataBin…

  • Benutzer-Avatarbild

    Argh. Du hast doppelt recht. Bzgl. meines falsch eingestellten Programms und der Erklärung.

  • Benutzer-Avatarbild

    Ich hab meine ComboBoxen immer auf DropDownList, sodass man da gar nix eintragen, sondern nur auswählen kann. Zitat von DerSmurf: „Sowohl Dgv als auch ComboBox (Datenaktualisierung - Never, damit keine neuen Lieferanten angelegt werden können) sind an die DataTable Supplier gebunden.“Aber schon so, oder: vb-paradise.de/index.php/Attac…7c49b097fee5a11256d7619c6 Wenn das so eingestellt ist, ist ein Datenaktualisierungsmodus nicht (bei mir) einstellbar. Es ist immer aktiv - eben weil es direkt an d…

  • Benutzer-Avatarbild

    Na Moment mal. Das klingt aber n bisken nach doppeltem DataBinding. Eine ComboBox, die an die BS so angebunden wird, wie in Post#72 gezeigt, hat keinen einstellbaren Datenaktualisierungsmodus! Nicht, dass Du einfaches und komplexes DataBinding (versehentlich) drin hast und dann endest wie ich einst. Im Anhang der Sollzustand. Doppeltes DataBinding lässt manchmal Effekte entstehen, mit denen man nicht rechnet. Also Obacht!

  • Benutzer-Avatarbild

    Jap. Gugst Du, hier hatte ich dasselbe Problem. Inkl. Lösung