Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Criptografia

Recommended Posts

O erro que da é esse:Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''5ê'. /index_criptografa.asp, line 19 A linha 19 é a linha do update...

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte printa na tela o resultado da query e posta aqui pra eu ver...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta ai :

 

ASP

[*]update logo set nome_usu = '5êupdate logo set nome_usu = ' ÷ìdeH', senha_usu= '&ýÛßC,l,D' where cod_usu = 14

 

agira que vi... mas isso está meio estranho... :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa parte ta repetindoupdate logo set nome_usu =por isso o erro de sintaxe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O estranho é que apenas nesse que ta acontecendo isso... :wacko: .. olha ops outros...

 

update logo set nome_usu = 'wF‰ u¿£1ŽàÓ-', senha_usu= '1Û1TŸ' where cod_usu = 12update logo set nome_usu = '5êupdate logo set nome_usu = ' ÷ìdeH', senha_usu= '&ýÛßC,l,D' where cod_usu = 14update logo set nome_usu = '"õŠbúù', senha_usu= '2ò¿¬%›x¾' where cod_usu = 15update logo set nome_usu = '$ý4¿a', senha_usu= '$ ÙëÉŸ' where cod_usu = 32

você tem ideia do por que isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem imagino o que seja...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja bem, quando voce declarou

 

login = EncriptaStr(rs("nome_usu"))senha = EncriptaStr(rs("senha_usu"))login = REPLACE(login,"'","''")senha = REPLACE(senha,"'","''")

No momento em que voce envia login e senha pro banco, voce num ta mandando o login e senha criptografados e sim o segundo bloco de login e senha ou seja.

Nao este é o bloco que ta indo pro banco

 

login = EncriptaStr(rs("nome_usu"))

senha = EncriptaStr(rs("senha_usu"))

 

 

e sim este que apos ser criptorafado recebe outra ação, no caso o replace.

 

login = REPLACE(login,"'","''")

senha = REPLACE(senha,"'","''")

 

Faz assim que da certo:

 

[ASP]

set conexdados = server.createObject ("ADODB.Connection")

conexdados.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../dados/dados.mdb")

 

set rs=server.createobject ("adodb.recordset")

rs.open "select * from logo" ,conexdados,3,1

 

while not rs.eof

 

login = EncriptaStr(rs("REPLACE(login,"'","''")"))

senha = EncriptaStr(rs("REPLACE(senha,"'","''")"))

 

conexdados.execute "update logo set nome_usu = '"&login&"', senha_usu= '"&senha&"' where cod_usu = "&rs("cod_usu")

 

rs.movenext

wend

 

rs.close

set rs=nothing

conexdados.close

set conexdados=nothing

'============================================================

Desta forma voce manda pro banco, os login e senha criptografados. entendeu?

 

Qualquer duvida postaê............

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem alguma coisa estranha aqui... mudei o codigo... ta assim:

 

ASP

[*]

[*] set conexdados = server.createObject ("ADODB.Connection")

[*] conexdados.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("../dados/dados.mdb")

[*]

[*] set rs=server.createobject ("adodb.recordset")

[*] rs.open "select * from logo" ,conexdados,3,1

[*]

[*] while not rs.eof

[*]

[*] login = EncriptaStr(rs(REPLACE("nome_usu","'","''")))

[*] senha = EncriptaStr(rs(REPLACE("senha_usu","'","''")))

[*]

[*] sql = "update logo set nome_usu = '"&login&"', senha_usu= '"&senha&"' where cod_usu = "&rs("cod_usu")

[*] 'conexdados.execute sql

[*]

[*] response.Write sql & "<br><br>"

[*]

[*] rs.movenext

[*] wend

[*]

[*] rs.close

[*] set rs=nothing

[*] conexdados.close

[*] set conexdados=nothing

[*]

[*]

 

e ele ainda imprime o sql assim:

 

update logo set nome_usu = 'wF‰ u¿£1ŽàÓ-', senha_usu= '1Û1TŸ' where cod_usu = 12update logo set nome_usu = '5êupdate logo set nome_usu = ' ÷ìdeH', senha_usu= '&ýÛßC,l,D' where cod_usu = 14update logo set nome_usu = '"õŠbúù', senha_usu= '2ò¿¬%›x¾' where cod_usu = 15update logo set nome_usu = '$ý4¿a', senha_usu= '$ ÙëÉŸ' where cod_usu = 32
to ficando meio maluco ou isso aqui ta muitoooo estranho... :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

issologin = EncriptaStr(rs(REPLACE("nome_usu","'","''")))senha = EncriptaStr(rs(REPLACE("senha_usu","'","''")))não impede de voltar a aparecer apostrofo entre os caracters...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei de tudo ja aqui... se alguem tiver uma ideia do que pode resolver isso fico muito grato.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara se é so pra criptografar você pode usar esta função ai como estava usando e adapta-la com estes replaces aie não hora de comparar faz tudo de novo cript e replace...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim que da certo:

ASP

[*]

[*]login = EncriptaStr(REPLACE(rs("nome_usu")),"'","''"))

[*]senha = EncriptaStr(REPLACE(rs("senha_usu")),"'","''"))

[*]

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

E na hora de verificar o usuario e a senha:Select * from tablela where login = EncriptaStr(REPLACE(rs("nome_usu")),"'","''"))and senha = EncriptaStr(REPLACE(rs("senha_usu")),"'","''"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal estou com esse mesmo problema com o caracter ', nao entendi como faço para resolver. Já tenho usuários cadastrados com essas senhas e como faço pra não ocorrer novamente esse ', essa do replace?? nao entendi alguem pode me ajudar??

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.