Шифрование

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Шифрование

Сообщение Джеффи » 10.05.2005 (Вт) 19:37

Однажды на форуме я выссказал идею шифрования по методу перестановки символов по маске :wink: , только у меня возникла проблема... :(
В коде ошибка которую я не могу исправить... :(

Код: Выделить всё
Dim MaskElement() As Byte, MyText() As Byte

Private Sub SplitMask(ByRef MaskAsString As String)
Cls
ReDim MaskElement(Len(MaskAsString) - 1)
For i = LBound(MaskElement) To UBound(MaskElement) Step 1
    MaskElement(i) = Val(Replace(Replace(Replace(Replace(Replace(Replace(Mid(MaskAsString, i + 1, 1), "A", 10), "B", 11), "C", 12), "D", 13), "E", 14), "F", 15))
    Print MaskElement(i)
Next i
End Sub

Private Function RemakeTextByMask(ByRef sString As String) As String ' тут ошибка  :cry:
Dim g As Long, i As Long
SplitMask Text1.Text
ReDim MyText(Len(sString) - 1)
For i = LBound(MyText) To UBound(MyText) Step 1
    MyText(i) = Asc(Mid(sString, i + 1, 1))
Next i
If UBound(MyText) > UBound(MaskElement) Then
    For g = LBound(MyText) To UBound(MyText) + UBound(MaskElement) Step UBound(MaskElement)
        For i = LBound(MaskElement) To UBound(MaskElement) Step 1
            RemakeTextByMask = RemakeTextByMask & Chr(MyText(g + MaskElement(i)))
        Next i
    Next g
Else
    For i = LBound(MaskElement) To UBound(MaskElement) Step 1
        RemakeTextByMask = RemakeTextByMask & Chr(MyText(g + MaskElement(i)))
    Next i
End If
End Function

Private Function RndSetMask() As String
Randomize
Do
    j = Int(Rnd * 14 + 1)
    If InStr(1, RndSetMask, Mid("0123456789ABCDEF", j, 1), vbTextCompare) = 0 Then RndSetMask = RndSetMask & Mid("0123456789ABCDEF", j, 1)
Loop While Len(RndSetMask) < 14
End Function


Private Sub Text1_DblClick()
Text1 = RndSetMask
SplitMask Text1.Text
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then SplitMask Text1.Text: KeyAscii = 0
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then Text3.Text = RemakeTextByMask(Text2.Text): KeyAscii = 0
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then Text2.Text = Text3.Text: Text3.Text = RemakeTextByMask(Text2.Text): KeyAscii = 0
End Sub


Ещё хорошо бы было если бы кто-нибудь написал функцию расшифровки :roll:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 10.05.2005 (Вт) 19:45

Уж скока сказано: НЕ ДОВЕРЯЙТЕ ДОМАШНИМ СИСТЕМАМ ШИФРОВАНИЯ.

Ан нет.....

используй CAPICOM и будь счастлив
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 10.05.2005 (Вт) 19:47

А что если я ВСЁТАКИ ХОЧУ СДЕЛАТЬ СВОЮ СИСТЕМУ ШИФРОВАНИЯ?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 10.05.2005 (Вт) 20:30

Возьми рабочие примеры, коих в сети навалом. И доделай "под себя".

Вот здесь, например, есть куча простых алгоритмов шифрования.
Моду создают модоки, а распространяют модозвоны.

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 10.05.2005 (Вт) 22:00

Тсссс... не мешайте изобретать велосипед... Ща ему мысль спугнете гениальную...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 63

    TopList