Добавление шифрованой строки в БД

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

Добавление шифрованой строки в БД

Сообщение ZOD » 12.12.2008 (Пт) 13:51

Добавляю зашифрованы строки (не важно чем, XOR, Blowfish, Gost) но при каких-то определенных сиволах вылетает сообщение о недопустимом SQL запросе. Как избавиться от этой проблемы, ведь даже заменой символов не добится результата, т.к. шифрованая строка будет испорчена?

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

Re: Добавление шифрованой строки в БД

Сообщение Sebas » 12.12.2008 (Пт) 14:17

Строка? А как Ты в строку переводишь?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Re: Добавление шифрованой строки в БД

Сообщение ZOD » 12.12.2008 (Пт) 14:21

Код: Выделить всё
Public Function EncryptDecrypt(strInput As String) As String
Dim s As String
Dim i As Long
Dim tk As Long
Dim kS As Long
Dim sS As Long
Dim KeyLen As Long
' BwK - строковая константа

    tk = 1
    KeyLen = Len(BwK)
    For i = 1 To Len(strInput)
        kS = Asc(Mid$(BwK, tk, 1))
        sS = Asc(Mid$(strInput, i, 1))
        s = s & Chr$(kS Xor sS)
        If tk = KeyLen Then tk = 1 Else tk = tk + 1
    Next i
   
    EncryptDecrypt = s
   
End Function

В окошке Immediate Window проверяю ф-ю, перекодирует вроде правильно. Но при подстановке в запрос вылетает ошибка.

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Re: Добавление шифрованой строки в БД

Сообщение HandKot » 12.12.2008 (Пт) 14:25

поробуйте запрос с параметрами
если не ошибаюсь, то в таком случае ошибок не возникает
I Have Nine Lives You Have One Only
THINK!

ZOD
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 24.03.2004 (Ср) 19:54
Откуда: Barnaul

Re: Добавление шифрованой строки в БД

Сообщение ZOD » 12.12.2008 (Пт) 14:39

HandKot писал(а):поробуйте запрос с параметрами
если не ошибаюсь, то в таком случае ошибок не возникает

Это как?

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Re: Добавление шифрованой строки в БД

Сообщение HandKot » 12.12.2008 (Пт) 16:46

у объекта ADODB.command
есть объект Parameters

и либо написать хранимую процедуру, либо в запросе примерно так (точно сказать не могу, давно это было)
Код: Выделить всё
Dim cmd as ADODB.Command
Dim p As ADODB.Parameters
...
cmd.CommandText = "insert into MyTable(field1) values (?)"

set p = New ADODB.Parameters(...)
cmd.Parameters.Append p
...
cmd.Execute


на форуме поищите (скорее всего в разделе БАЗЫ ДАННЫХ)
I Have Nine Lives You Have One Only
THINK!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Добавление шифрованой строки в БД

Сообщение alibek » 21.12.2008 (Вс) 22:08

Экранируй недопустимые в SQL символы. Обычно это апостоф, кавычки и управляющие символы.
Lasciate ogni speranza, voi ch'entrate.


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

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

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

    TopList