Ir para conteúdo

Arquivado

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

Gilberto Jr

Recuperando Senha

Recommended Posts

Bom dia;

 

Eu tenho uma duvida e não se existe uma forma de resolver.

 

No meu sistemas quando eu cadastro um usuário a senha que crio uso o MD5.

 

A senha que é salva no banco de dados com o hash MD5. Se o usuário solicita a recuperação de senha a que vai ser enviada é a que esta salva no banco de dados.

 

Existe uma forma de descriptografar md5 e mandar a senha que ele solicitou?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

CRIPTOGRAFANDO
<%@LANGUAGE="VBSCRIPT"%>
<%
'criptografando um texto

Const EncC1 = 109
Const EncC2 = 191
Const EncKey = 161

Public Function EncriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i

TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536

For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(TempChar) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next

EncriptaStr = TempResult
End Function

%>
DESCRIPTOGRAFANDO
<%
'descriptografando o texto
Public Function DecriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i

TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536

For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next

DecriptaStr = TempResult
End Function

Private Function AuxShr(Numero, BShr)
AuxShr = Int(Numero / (2 ^ BShr))
End Function

%>
Para usar faz assim:

varTeste = EncriptaStr( "texto ou variável para criptografar" )

varTeste = DecriptaStr( "texto ou variável para descriptografar" )

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode armazenar a senha como texto e usar a função... Mas pode ser unilateral. olha aqui

http://md5.rednoize.com/
Descriptografa MD5 e Sha1,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, bom dia.

 

Estou executando o esse script para criptografar um texto e esta dando erro na linha 28 no "Tipos incompatíveis: 'AuxShr'"

 

A linha que esta acusando o erro esta com o seguinte código.

TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256

 

O que esta causando esse erro?

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ela esta funcionando normal... mas tire o public da function e faz um teste

 

VarTeste = EncriptaStr("* nós somos consequência do que pensamos *,** mensagem 100% de Eletrôns recicláveis **,*** Transformando pensamentos em bits ***")
Response.Write (VarTeste& "<br>")
Response.Write (DecriptaStr(VarTeste))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tirei e deixei da seguinte forma

<!--CRIPTOGRAFANDO-->
<%
'criptografando um texto

Const EncC1 = 109
Const EncC2 = 191
Const EncKey = 161

Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i


Function EncriptaStr(Texto)

TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536

For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(TempChar) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next

EncriptaStr = TempResult
End Function
%>

<%
varTeste = EncriptaStr( "texto ou variável para criptografar" )

response.Write(varTeste)
%>

E o erro continua.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá funcionando normal a minha

 

http://sintchospir.com.br/criptografandotexto.asp

 

use assim:

<%
Const EncC1 = 109
Const EncC2 = 191
Const EncKey = 161

Public Function EncriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i
TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(TempChar) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next
EncriptaStr = TempResult
End Function

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Public Function DecriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i
TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next
DecriptaStr = TempResult
End Function

Private Function AuxShr(Numero, BShr)
AuxShr = Int(Numero / (2 ^ BShr))
End Function

VarTeste = EncriptaStr("* nós somos consequência do que pensamos *")
Response.Write (VarTeste& "<br>")
Response.Write (DecriptaStr(VarTeste))
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu tava fazendo uma cagada aqui.

 

Estava colocando codigo html na pagina por isso nao deu certo.

 

Dai eu tirei o codigo html e deu certo. Porem o texto criptografado fica assim (3n{rNinة1: G~7s[ӹ<)

 

Ele descriptografado ficou correto ( vaca teste de cipitografar È É ~ ã!? 2556 ). Esse é o texto.

 

Agora a minha duvida, criptografado ele vai ficar assim mesmo? Com os caracteres nesse formato?

 

O meu código ficou assim

<%
Response.Charset="ISO-8859-1"
Response.AddHeader "Content-Type", "text/html; charset=utf-8"
Response.AddHeader "Pragma", "no-cache"
response.Charset="utf-8"
 
Const EncC1 = 109
Const EncC2 = 191
Const EncKey = 161
 
Public Function EncriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i
TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(TempChar) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next
EncriptaStr = TempResult
End Function
 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Public Function DecriptaStr(Texto)
Dim TempStr, TempResult, TempNum, TempChar
Dim TempKey
Dim i
TempStr = Texto
TempResult = ""
TempKey = ((EncKey * EncC1) + EncC2) Mod 65536
For i = 1 To Len(TempStr)
TempNum = (Asc(Mid(TempStr, i, 1)) Xor (AuxShr(TempKey, 8))) Mod 256
TempChar = Chr(TempNum)
TempKey = (((Asc(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next
DecriptaStr = TempResult
End Function
 
Private Function AuxShr(Numero, BShr)
AuxShr = Int(Numero / (2 ^ BShr))
End Function
 
VarTeste = EncriptaStr("vaca teste de cipitografar È É ~ ã!? 2556")
Response.Write (VarTeste& "<br>")
Response.Write (DecriptaStr(VarTeste))
%>

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, um texto assim:

 

"O arquivo hiberfil.sys é gerado para que o computador entre no modo de hibernação. Ele é preciso pois ao entrar em hibernação, o computador joga todos os documentos abertos para dentro do HD.Enquanto o modo suspensão oferece um retorno a atividade mais rápido por armazenar dados na memória RAM e consequentemente mais energia; o modo hibernação gasta menos energia

 

ficará criptografado desde jeito.

 

¦:¨jÚŽ4ŸÕýSðwõL3§ÍoTGš6ÒéK¹³vÑKEÑÕå9Ü‚gx«`‰æ@o«ë„/¦ÙcŽ]熛~ewi…z“>›~#ÕYÍ…GMG`:`t÷_·æ ¿D°lÉÔÇÂí`>{“¾ª’+(—ž`QY{°Â¤z2Aqe‰1ðYg½á30Ó'»âCs°‡H£XÍ×€

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, até eu consegui.

 

Mas agora quando eu fui fazer um update em um texto criptografando da o seguinte erro.

 

----------------------

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14'

[MySQL][ODBC 5.1 Driver][mysqld-5.1.50-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''w…' at line 1

/cplogistica/teste.asp, linha 14

-------------------------

O meu código é

<!--#include file="criptografar.asp" -->
 
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection") 
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=cplogistica;USER=root;PASSWORD=211613;OPTION=3;")
'arquivo que checa se existe o login e a senha do usuario que esta tentando logar
response.ContentType="text/html; charset=ISO-8859-1" 
 
 
set rs = conn.execute("UPDATE usuarios SET senha='"&EncriptaStr("211613")&"'")
 
 
 
conn.Close()
'Destruímos o objeto
Set conn = Nothing 
response.Write("senha mudada")
%>

A linha 14 que esta acusando o erro esta o meu update

set rs = conn.execute("UPDATE usuarios SET senha='"&EncriptaStr("211613")&"'")

Att;

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

erro de sintaxe na SQL, ele nao esta entendendo a função dentro da SQL, tente concatenar de outro jeito

 

("UPDATE usuarios SET senha='"&EncriptaStr("211613"))

 

ou

 

faça a encriptação e depois jogue na SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, eu fiz o update sem criptografar o texto e funcionou.

 

Depois eu criei uma variavel e coloquei a variavel recuperando o texto criptografafo e tambem nao funcionou.

 

Ai depois eu dei um response.write na texto sem ser criptografado e também criptografado e me parece que não esta sendo criptografado corretamente.

 

Veja a imagem domo esta ficando o texto criptografado.

criptografia.png

 

O meu codigo esta assim.

<!--#include file="criptografar.asp" -->
<%
dim conn
'Criamos o objeto de conexão
Set conn = Server.CreateObject("ADODB.Connection") 
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=cplogistica;USER=root;PASSWORD=211613;OPTION=3;")
'arquivo que checa se existe o login e a senha do usuario que esta tentando logar
 
 
senha = EncriptaStr("211613")
 
 
response.Write(DecriptaStr(senha)&"<br /><br />")
 
 
response.Write(senha)
 
 
'set rs = conn.execute("UPDATE usuarios SET senha='"&EncriptaStr("211613"))
 
 
 
conn.Close()
'Destruímos o objeto
Set conn = Nothing 
'response.Write("senha mudada")
%>

 

O que esta de errado?

 

Att;

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.