Посоветуйте быстрый алгоритм шифровки/дешифровки

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

Посоветуйте быстрый алгоритм шифровки/дешифровки

Сообщение |kerish| » 21.05.2005 (Сб) 11:02

Посоветуйте быстрый алгоритм шифровки/дешифровки кроме XOR-а.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 21.05.2005 (Сб) 11:27

Вот...

Код: Выделить всё

Public Function EnDeCrypt(plaintxt As String, Password As String) As String

     Dim temp As Integer
     Dim a As Integer
     Dim b As Integer
     Dim cipherby As Byte
     Dim cipher As String

     'Èíèöèàëèçàöèÿ
     'Ñîçäàíèå êëþ÷à
     b = 0

     For a = 0 To 255
         b = b + 1
         If b > Len(Password) Then
             b = 1
         End If
         kep(a) = Asc(Mid$(Password, b, 1))
     Next a

     For a = 0 To 255
         s(a) = a
     Next a
     
     b = 0

     For a = 0 To 255
         b = (b + s(a) + kep(a)) Mod 256
         temp = s(a)
         s(a) = s(b)
         s(b) = temp
     Next a

     'Ïîáàéòíîå øèôðîâàíèå
     For a = 1 To Len(plaintxt)
         cipherby = EnDeCryptSingle(Asc(Mid$(plaintxt, a, 1)))
         cipher = cipher & Chr(cipherby)
     Next
     EnDeCrypt = cipher
End Function

Public Function EnDeCryptSingle(plainbyte As Byte) As Byte
     Dim i As Integer
     Dim j As Integer
     Dim temp As Integer
     Dim k As Integer
     Dim cipherby As Byte
     
     'Øèôðîâàíèå îäíîãî áàéòà
     i = (i + 1) Mod 256
     j = (j + s(i)) Mod 256
     temp = s(i)
     s(i) = s(j)
     s(j) = temp
     k = s((s(i) + s(j)) Mod 256)
     cipherby = plainbyte Xor k
     EnDeCryptSingle = cipherby
End Function


Пример

Msgbox EnDeCrypt(text1,"abcd")
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 21.05.2005 (Сб) 11:31

Используй BlowFish.
А как перевести его в ВБ поищи в инете - я не помню.
Пошли все на фиг, я фея! :flower:

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 21.05.2005 (Сб) 13:38


|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 21.05.2005 (Сб) 14:56

Sedge MD5 быстрый способ? Имеются ввиду тексты размером более 100 кб.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 21.05.2005 (Сб) 14:57

_Мика_ Спасибо я попробую этот алгоритм.

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

Сообщение hCORe » 21.05.2005 (Сб) 19:19

Тссс... Там есть инструкция Xor!
Моду создают модоки, а распространяют модозвоны.

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 22.05.2005 (Вс) 1:40

Есть Winapi функция еще для шифровки и на оборот, а если нужен алгоритм зайди на algolist.
Удачи!
С уважением, Алексадр.

DidykDA
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 12
Зарегистрирован: 27.03.2005 (Вс) 0:37
Откуда: Украина, Днепропетровск

Сообщение DidykDA » 22.05.2005 (Вс) 3:10

Из курсовых заданий:
1) Чтобы зашифровать текст, записанный с помощью букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней по алфавиту (буква я заменяется на а).

2)Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом - его шифром.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Сообщение xenomorph » 22.05.2005 (Вс) 9:40

RC4 один из самых быстрых из живущих AES.
vbkiev.ua
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 22.05.2005 (Вс) 22:04

DidykDA писал(а):Из курсовых заданий:
1) Чтобы зашифровать текст, записанный с помощью букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней по алфавиту (буква я заменяется на а).

2)Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом - его шифром.

алгоритм Цезарь
Удачи!
С уважением, Алексадр.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 23.05.2005 (Пн) 10:46

Sasha_karasov Алгоритм Chr(Asc(Mid(Text,a,1))+1) :)

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 23.05.2005 (Пн) 10:48

Всем спасибо выбрал RC4.

Andrew Sherd
Новичок
Новичок
Аватара пользователя
 
Сообщения: 42
Зарегистрирован: 10.05.2004 (Пн) 0:18
Откуда: Санкт-Петербург

Сообщение Andrew Sherd » 24.05.2005 (Вт) 9:04

Ну, по сути, надежным считается реализация ГОСТ 28147-89 из категории симметриков...

Если нуно - где-то валялась библиотека с описанием для ВБ
Маленькие хитрости: Если золотую рыбку положить на сковородку, количество желаний увеличивается да 50!!!

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 24.05.2005 (Вт) 10:41

Andrew Sherd Там где я использую алгоритм более важна скорость чем надежность.


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

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

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

    TopList