Ir para conteúdo

Arquivado

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

lucasmoraes

md5 e esqueci minha senha

Recommended Posts

amigos estou implementando em um sistema aqui uma pagina de esqueci minha senha, mas o sistema criptografa as senhas com md5 então como posso fazer para enviar para o email do solicitante a senha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a criptografia MD5 (Message-Digest algorithm 5) esse algoritmo de hash de 128 bits é unidirecional,MD5 não descriptografa, apesar de alguns usar esse code:

 

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" )

 

 

 

seu algoritmo já ter sido amplamente explorado. É utilizado um algoritmo de HASH, desta forma, existe apenas o "caminho de ida", os métodos de "decriptografia" apresentados neste post são baseados em dicionários, ou seja, ele só "decriptografa" as palavras/frases que estão armazenadas neste dicionário

Compartilhar este post


Link para o post
Compartilhar em outros sites

a criptografia MD5 (Message-Digest algorithm 5) esse algoritmo de hash de 128 bits é unidirecional,MD5 não descriptografa, apesar de alguns usar esse code:

 

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" )

 

 

 

seu algoritmo já ter sido amplamente explorado. É utilizado um algoritmo de HASH, desta forma, existe apenas o "caminho de ida", os métodos de "decriptografia" apresentados neste post são baseados em dicionários, ou seja, ele só "decriptografa" as palavras/frases que estão armazenadas neste dicionário

pois bem amigo entao como eu faço uma pagina de esqueci minha senha para mandar para a pessoa criar uma nova entao preciso fazer um codigo que envie pro cliente por email algum link que gere a pagina de nova senha mas nao sei como fazer isso

voce pode me ajudar com isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

utiliza um code para gerar senha aleatoriamente, tem um exemplo que coloquei no lab. de script.

Compartilhar este post


Link para o post
Compartilhar em outros sites

utiliza um code para gerar senha aleatoriamente, tem um exemplo que coloquei no lab. de script.

achei um codigo que você fez no laboratorio de scripts vou postar aqui mas como eu faço pra tipo assim o cara clica no botao de esqueceu sua senha... ai ele digita o email dele e pronto se tiver o email dele cadastrado no banco de dados ja gera uma nova senha cadastra essa nova senha no banco e envia por email para ele?

 

outra coisa a pagina que eu fiz para tentar validar se existe o email cadastrado esta me retornando este erro

Microsoft VBScript runtime error '800a01a8'

 

Object required: ''

 

/newpointi/pag_esqueceu_senha.asp, line 34

a linha tem um sql

emailusuario = Request.Form("email_esqueci")
'response.write session("emailsenha")
sqlbusca = "select * from tab_usuario_cadastro where email_usuario = '"& emailusuario &"'"
rs.open sqlbusca,conn

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso geralmente é porque você já tentou fechar ou definir nothing a um objeto que não foi definido. Outra causa comum é usar a palavra-chave SET para criar uma string, na maioria das vezes uma declaração SQL, Outra causa possível é usar um nome de objeto reservado como um nome de variável.

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.