verschlüsselung?!?!

hallo,
ich bin ein blutiger vb-2005-anfänger, habe aber trotzdem ein projekt gewagt: ein programm, das bestimmte dateien ver- und wieder entschlüsselt. dazu habe ich ein paar fragen:

  1. in welcher eigenschaft kann ich festlegen, in welches verzeichnis das programm bei der aus führung von der, von vb erzeugten, setup.exe installiert wird?

  2. wie kann ich festlegen dass bestimmte dateien (*.etu) nach der installation immer mit meinem programm(„WinETU“) geöffnet werden und welches symbol für diese dateien verwendet werden soll?

  3. als verschlüsselungsmethode dachte ich mir folgenden weg: der inhalt der datei wird in einen string ausgelesen, welcher dann in eine zahl vom typ integer oder long konvertiert wird, die dann mit dem passwort, das aus ziffern besteht, multipliziert wird und abgespeichert wird. gibt es möglichkeiten, strings in integer- oder long-zahlen (und umgekehrt) zu konvertieren? oder gibt es eine einfachere/bessere verschlüsselungsmethode?

  4. ich möchte, dass bei der installation ein desktopsymbol erzeugt wird. ist dies möglich?

  5. wenn eine etu-datei (bei der schon festgelegt wurde, dass sie mit WinETU geöffnet werden soll) geöffnet wird, wird zwar WinETU gestartet, aber nicht die gewünschte datei angezeigt. wie kann ich dies erreichen?

  6. reicht es, wenn ich bei der weitergabe die setup.exe und den rest im ordner publish weitergebe?

vielen dank schon mal im voraus fürs antworten
j.

P.S.: ich bitte nur um antworten von vb-2005-kennern (viele befehle von älteren versione funktionieren in der 2005-version nicht mehr)!

Auch hallo.

  1. in welcher eigenschaft kann ich festlegen, in welches
    verzeichnis das programm bei der aus führung von der, von vb
    erzeugten, setup.exe installiert wird?

Tools - Options -

  1. wie kann ich festlegen dass bestimmte dateien (*.etu) nach
    der installation immer mit meinem programm(„WinETU“) geöffnet
    werden und welches symbol für diese dateien verwendet werden
    soll?

Mit dem Windows Explorer die Datei ansteuern, rechte Maustaste auf Zieldatei, Eigenschaften, ‚Öffnen mit…‘ verändern.

  1. als verschlüsselungsmethode dachte ich mir folgenden weg:
    der inhalt der datei wird in einen string ausgelesen, welcher
    dann in eine zahl vom typ integer oder long konvertiert wird,
    die dann mit dem passwort, das aus ziffern besteht,
    multipliziert wird und abgespeichert wird. gibt es
    möglichkeiten, strings in integer- oder long-zahlen (und
    umgekehrt) zu konvertieren? oder gibt es eine
    einfachere/bessere verschlüsselungsmethode?

Also es gibt Routinen, die Strings in Zahlen verwandeln und umgekehrt. Stichwort: StringToInt oder IntToString. Oder allgemeiner: TypeCast
Aber das .NET Framework unterstützt selbst Kryptographiealgorithmen: System.Security.Cryptography

  1. ich möchte, dass bei der installation ein desktopsymbol
    erzeugt wird. ist dies möglich?

k.A.

  1. wenn eine etu-datei (bei der schon festgelegt wurde, dass
    sie mit WinETU geöffnet werden soll) geöffnet wird, wird zwar
    WinETU gestartet, aber nicht die gewünschte datei angezeigt.
    wie kann ich dies erreichen?

k.A.

  1. reicht es, wenn ich bei der weitergabe die setup.exe und
    den rest im ordner publish weitergebe?

Also es reicht nur die erzeugte exe Datei des debug Ordners

P.S.: ich bitte nur um antworten von vb-2005-kennern (viele
befehle von älteren versione funktionieren in der 2005-version
nicht mehr)!

Oops :smiley: Da hat jemand genatwortet, der VB 2005 noch nicht so ganz ‚aus dem Effeff‘ kennt. Aber immerhin kann er VB 2005 programmieren und hat in der IDE mal nachgeschaut…

HTH
mfg M.L.

hi,

Mit dem Windows Explorer die Datei ansteuern, rechte Maustaste
auf Zieldatei, Eigenschaften, ‚Öffnen mit…‘ verändern.

ich will aber, dass bei dem user, der das programm installiert hat etu-dateien nach der installation, ohne dass der user „nachhilft“ , mit WinETU geöffnet werden.

Also es gibt Routinen, die Strings in Zahlen verwandeln und
umgekehrt. Stichwort: StringToInt oder IntToString. Oder
allgemeiner: TypeCast
Aber das .NET Framework unterstützt selbst
Kryptographiealgorithmen: System.Security.Cryptography

und wie wende ich die an?

grüsse
j.

Hallo nochmal.

ich will aber, dass bei dem user, der das programm installiert
hat etu-dateien nach der installation, ohne dass der user
„nachhilft“
, mit WinETU geöffnet werden.

Also einen Autostart vornehmen. Das ‚Öffnen mit‘ sollte also von jemand gemacht werden, der etwas von diesem kleinen Akt versteht :wink:

Kryptographiealgorithmen: System.Security.Cryptography

und wie wende ich die an?

So: http://msdn2.microsoft.com/de-de/library/system.secu…
http://www.dotnetproject.de/search.aspx?q=System.Sec…
http://www.codeproject.com/info/search.asp?cats=5&ca…

HTH
mfg M.L.

hi,

So:
http://msdn2.microsoft.com/de-de/library/system.secu…
http://www.dotnetproject.de/search.aspx?q=System.Sec…

also irgendwie hab ich das nich kapiert. wie also (Quelltext) veverschlüssele ich den inhalt der variable text(string) mit dem scschlüssel key(string)?

grüsse
j.

Hallo nochmal.

also irgendwie hab ich das nich kapiert. wie also (Quelltext)
veverschlüssele ich den inhalt der variable text(string) mit
dem scschlüssel key(string)?

Das macht das .NET FW automatisch. Wenn man es lässt: http://www.c-sharpcorner.com/UploadFile/sushmita_kum…

mfg M.L.

gibts das auch auf deutsch?? und ausserdem will ich, dass der user das kennwort selber eingibt.

gibts das auch auf deutsch?? und ausserdem will ich, dass der
user das kennwort selber eingibt.

Hallo Jonas,

also wenn du weiterhin programmieren möchtest, so lege ich dir ans Herz das du auch Englisch lernen solltest. Denn ohne wirst du nicht sehr weit kommen, da die meisten Erläuterungen etc. auf Englisch sind.
Aber nungut, zu deinem Problem.

Ich selbst programmiere nicht unter .net sondern unter VB 6.
Ich poste dir hier einmal eine Routine die das bewerkstelligt. Soweit ich weiss kannst du unter .net alte VB 6 Projecte importieren und wandelt dir es dann um. Vielleicht kannst du damit etwas anfangen :smile:

Private Sub EncodeArrayB( ByRef ByteArray() As Byte, Optional ByRef Password As String )
 Const MagicByte As Byte = &HFF
 Dim PwdLen As Long
 Dim PwdAsc As Byte
 Dim i As Long
 Dim j As Long
 Dim LB As Long
 Dim UB As Long

 PwdLen = Len(Password)
 Select Case PwdLen
 Case 0 'Kein Password verwenden:

 For i = LBound(ByteArray) To UBound(ByteArray)
 ByteArray(i) = ByteArray(i) Xor MagicByte Xor (i And &HFF)
 Next i

 Case 1 'Einzelnes Zeichen als Password verwenden:

 PwdAsc = Asc(Password) Xor MagicByte
 For i = LBound(ByteArray) To UBound(ByteArray)
 ByteArray(i) = ByteArray(i) Xor PwdAsc Xor (i And &HFF)
 Next i

 Case Else 'Password verwenden:

 LB = LBound(ByteArray)
 UB = UBound(ByteArray)

 'Buchstaben-weise das Passwort durchlaufen:
 For j = 1 To PwdLen

 PwdAsc = Asc(Mid$(Password, j, 1)) Xor MagicByte
 For i = LB To UB Step PwdLen
 ByteArray(i) = ByteArray(i) Xor PwdAsc Xor (i And &HFF)
 Next i
 LB = LB + 1

 Next j

 End Select

End Sub

'Um Byte-weise auf die einzelnen Zeichen eines Strings zuzugreifen,
'wird der String an ein Byte-Array zugewiesen. VB würde eigentlich ein
'Zeichen in jeweils zwei Elemente des Byte-Arrays ablegen (wegen Unicode-Darstellung), daher muss der String vorher mit der VB-Funktion
'StrConv konvertiert werden (und hinterher wieder zurück).

Private Sub EncodeString( ByRef Text As String, Optional ByRef Password As String )
 Dim Bytes() As Byte
 Bytes = StrConv(Text, vbFromUnicode)
 EncodeArrayB Bytes, Password
 Text = StrConv(Bytes, vbUnicode)
End Sub

Public Function EncodeStr( ByRef Text As String, Optional ByRef Password As String ) As String
 EncodeStr = Text
 EncodeString EncodeStr, Password
End Function

'Diese 2 Subs und die 1 Function packst du in ein Modul. Aus der Form
'hinaus rufst du es nun wiefolgt auf

Dim s As String
s = "Hallo Welt!" 'String der verschluesselt werden soll
EncodeString s, "Password" 'String wird mit Password verschluesselt
'das (unleserliche) Ergebnis steht in s
EncodeString s, "Password"
'jetzt steht wieder "Hallo Welt!" in s

MfG Alex

hi,
erstmal danke. mein vb sagt jetzt allerdings (nachdem ich diese ganzen „Optional“ (weil er sonst einen Standartwert verlangt hätte) weggelöscht habe), dass es „vbFromUnicode“ und „vbUnicode“ nicht gibt. was verwendet man da in vb 2005???

grüsse,
j.