Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Шифрование


Автор: Kirill89 12.12.2006, 21:13
Подскажите пожалуйста, мне нужна библиотека и/или функция реализующая процесс шифрования/дешифровки текста.
Дело в том, что сделал программу, всё отлично, все оценили, но то, что там открытые текстовые файлы тоже быстро заметили... Теперь кому надо, тот блокнотиком..., и меняет то,что надо.
Мне нужна несложная функция чтобы её можно было легко добавить в проект. Например:
Код

b=code(a)
print #1,b

и соответственно:
Код

input #1, a
b=decode(a)


Автор: cardinal 13.12.2006, 01:31
В FAQ'e был?

Автор: Kirill89 13.12.2006, 01:40
Цитата(cardinal @ 13.12.2006,  01:31)
В FAQ'e был?

Был, ничего не нашел... Я чтото пропустил?

Автор: cardinal 13.12.2006, 02:17
Я думал вот это в FAQ'e:
http://forum.vingrad.ru/index.php?showtopic=31012&view=findpost&p=227541

Автор: Kirill89 13.12.2006, 02:25
Спасибо.
А есть ещё варианты? Функции поменьше и попроще?  smile 

Автор: ~FoX~ 13.12.2006, 10:43
Конечно, xor обзывается......поищи по форуму, найдешь много примеров....

Автор: Тутанхамец 13.12.2006, 11:04
Код

public const codekey as byte=123 'любое число

function Codec(src as string) as string
dim i as long, rez as string
for i=1 to len(src)
rez=rez+chr$(asc(mid$(src,i,1)) xor codekey))
next 
codec=rez
end function



Примитивная и тормозная функция, но против блокнота сгодится.

Добавлено @ 11:05 
Бейсика щас на компе нету, так что может где и ошибся. Но принцип такой.

Добавлено @ 11:08 
или тут: http://visualbasic.noka.ru/articles.php?Page=articles&id=cod_dec_text#a

Автор: Kirill89 13.12.2006, 22:45
Всем спасибо!
И отдельное спасибо тебе, Тутанхамец, этот код, именно то, что мне нужно!!! Просто и быстро  smile  smile  smile !
Поясни мне пожалуйста, почему Chr$ и Mid$ (я про $). И как функция определяет закодирован ли уже текст?
P.S.: Зарание прошу прощения за глупый (наверное) вопрос.

Автор: cardinal 13.12.2006, 22:59
Kirill89, у тебя MSDN'a тоже наверно еще нет?

Функции Chr, ChrB, ChrW возвращают значение субтипа String типа Variant, содержащее символ, соответствующий указанному коду символа ANSI или Unicode. Функции Chr$, ChrB$, ChrW$ возвращают соответственно значение типа String
http://subscribe.ru/archive/comp.soft.prog.visualprog/200512/19193429.html

Автор: Kirill89 13.12.2006, 23:05
cardinal, спасибо, про chr я знал. На практике chr и chr$ действуют одинаково, ну или внешне одинаково...

Автор: cardinal 14.12.2006, 00:10
Не за что...

Автор: Тутанхамец 14.12.2006, 10:34
Считается, что функции с $ на конце действуют быстрее, чем те, которые без оного. Если честно, не проверял. smile Моя функция никак не определяет, закодирован ли текст. Это, кажется, называется симметричным шифрованием. Один и тот же алгоритм и для шифровки и для расшифровки. Попробуй: 

Код

dim s as string
s="qwerty"
s=codec(s) 'кодирует
msgbox s
s=codec(s) 'следующий вызов уже декодирует
msgbox s



Автор: Kirill89 15.12.2006, 10:23
Да, всё работает, уже добавил в проект))) Ещё много раз спасибо.

Автор: Akina 15.12.2006, 10:37
При установленном .NET Framework Class Library разумнее (да и быстрее!) использовать RSACryptoServiceProvider Class, а конкретно

Код

Public Function Encrypt( _
   ByVal rgb() As Byte, _
   ByVal fOAEP As Boolean _
) As Byte()

Public Function Decrypt( _
   ByVal rgb() As Byte, _
   ByVal fOAEP As Boolean _
) As Byte()

Автор: Kirill89 15.12.2006, 10:43
Цитата(Akina @  15.12.2006,  10:37 Найти цитируемый пост)
При установленном .NET Framework Class Library 

К сожалению нет... А какие дополнительные возможности это даёт? и что из себя представляет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)