Criptografar senha
#1
Posted 12/02/2003, 14:40
#2
Posted 12/02/2003, 15:16
Chacal eu uso esse sistema de embaralhamento de string é quase criptografia mas é muito bom.Como que faz pra criptografar a sneha que vai pro banco de dados?
Criptografia de 64bits (BASE64):
' as contantes abaixo server para criptografar...vc pode modificalas.. assim soh vc sabera descriptografar... Const EncC1 = 100 Const EncC2 = 105 Const EncKey = 115 '============================================================== '######################## 'Criptografa informações '######################## Function Encripta(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 Encripta = TempResult End Function '============================================================== '######################## 'Descriptografa informações '######################## Function Decripta(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(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536 TempResult = TempResult & TempChar Next Decripta = TempResult End Function Private Function AuxShr(Numero, BShr) AuxShr = Int(Numero / (2 ^ BShr)) End Function
fazendo isso quando vc for inserir um dado via ASP no banco de dados vc faz assim:
insert into tabela (campo) values('" & Encripta("algumacoisa") & "');")
e depois pra chamar no seu asp vc usa:
variavel = Decripta(rs("campo")
Se precisar de ajuda estou ai ok.
#3
Posted 05/02/2006, 22:06
Tipo de erro:
Microsoft JET Database Engine (0x80040E14)
Erro de sintaxe na seqüência de caracteres na expressão de consulta 'login='carlos' AND senha='ßLسÅ'.
#4
Posted 05/02/2006, 22:20
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#5
Posted 05/02/2006, 22:33
o problema é quando vou adicionar no banco de dados
exemplo:
"INSERT INTO membros (senha) VALUES ('"& Encripta(senha) &"')"
Exemplo: ßLسÅ
Senha real: cometa
Generation, use os numeros que eu te mandei no PM e tente inserir a seguinte senha no banco de dados:
cometa
Veja o erro.
Edição feita por: vrsbueno, 05/02/2006, 22:57.
#6
Posted 05/02/2006, 23:39
<%' as contantes abaixo server para criptografar...vc pode modificalas.. assim soh vc sabera descriptografar...
Const EncC1 = 100
Const EncC2 = 105
Const EncKey = 115
'==============================================================
'########################
'Criptografa informações
'########################
Function Encripta(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
Encripta = TempResult
End Function
'==============================================================
'########################
'Descriptografa informações
'########################
Function Decripta(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(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536
TempResult = TempResult & TempChar
Next
Decripta = TempResult
End Function
Private Function AuxShr(Numero, BShr)
AuxShr = Int(Numero / (2 ^ BShr))
End Function
var = Encripta("Joao Paulo")
Response.Write(var)
nova = Decripta(var)
Response.Write(nova)
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Data\admin.mdb"
SQL = "Insert Into Admin(Nome)Values('" & var & "')"
Conn.execute(SQL)
%>mude o caminho do banco e o nome da tabela e faça um teste ....
[]'s
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#7
Posted 05/02/2006, 23:49
veja o PM!
#8
Posted 06/02/2006, 00:08
Foi o que eu te disse no post acima..logo na primeira linha ....cara, tente fazer isso com as variaveis que eu te passei por PM!!!
veja o PM!
usando as numeraçoes que vc me passou rodou belezinha... inseri no banco a informação criptografada tranquilamente
Qual o tipo de dado que o campo no banco de dados esta armazenando ?? texto ?
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#9
Posted 06/02/2006, 00:16
tente cadastrar um usuario com senha cometa no site:
www.cbdod.com.br
#10
Posted 06/02/2006, 00:21
Poste aqui o codigo do seu insert no banco de dados junto com a parte da criptografiamemorando
tente cadastrar um usuario com senha cometa no site:
www.cbdod.com.br
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#11
Posted 06/02/2006, 00:23
<%
IF Request.Form("ok") <> "" THEN
nick = Replace(Request.Form("nick"),"'","''")
nome = Replace(Request.Form("nome"),"'","''")
steam = Replace(Trim(Request.Form("steam")),"'","''")
msn = Replace(Trim(Request.Form("msn")),"'","''")
email = Replace(Trim(Request.Form("email")),"'","''")
login = Replace(Request.Form("login"),"'","''")
senha = Replace(Request.Form("senha"),"'","''")
senha2 = Replace(Request.Form("senha2"),"'","''")
Function Encripta(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
Encripta = TempResult
End Function
Private Function AuxShr(Numero, BShr)
AuxShr = Int(Numero / (2 ^ BShr))
End Function
SET letras = new RegExp
letras.Pattern = "^[a-zA-Z0-9_\.\-]+$"
SET steam_id = new RegExp
steam_id.Pattern = "^[0-9:]+$"
SET emailer = new RegExp
emailer.Pattern = "^[a-zA-Z0-9_-]+[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){1,}$"
IF nick = "" THEN
pass1 = 0
END IF
IF nome = "" THEN
pass7 = 0
END IF
IF steam_id.Test(steam) = FALSE THEN
pass2_1 = 0
ELSE
Sel = "SELECT COUNT(id) AS ss FROM membros WHERE steam='"& steam &"'"
SET conta_steam = Con_membros.Execute(Sel)
IF conta_steam("ss") <> 0 THEN
pass2_2 = 0
END IF
END IF
IF emailer.Test(msn) = FALSE THEN
pass3 = 0
END IF
IF emailer.Test(email) = FALSE THEN
pass4 = 0
END IF
IF Len(login) < 3 OR letras.Test(login) = FALSE THEN
pass5 = 0
END IF
Sel = "SELECT COUNT(id) AS LL FROM membros WHERE login='"& login &"'"
SET testelogin = Con_membros.Execute(Sel)
IF testelogin("LL") <> 0 THEN
pass5 = 999
END IF
IF Len(senha) < 3 THEN
pass6 = 0
ELSE
IF senha <> senha2 THEN
pass6 = 1
END IF
END IF
IF pass1 = "" AND pass7 = "" AND pass2_1 = "" AND pass2_2 = "" AND pass3 = "" AND pass4 = "" AND pass5 = "" AND pass6 = "" THEN
Ins = "INSERT INTO membros (login,nome,senha,nick,msn,email,steam) VALUES ('"& Server.HTMLEncode(login) &"','"& Server.HTMLEncode(nome) &"','"& Replace(Encripta(Request.Form("senha")),"'","''") &"','"& Server.HTMLEncode(nick) &"','"& Server.HTMLEncode(LCase(msn)) &"','"& Server.HTMLEncode(LCase(email)) &"','"& steam &"')"
Con_membros.Execute(Ins)
%>
<span class="h1"><br /><br />Usuário registrado! <br /><br />
</span>
<%
ELSE
html
END IF
ELSE
html
END IF
%>
os numeros de configuracao vc jah sabe quais sao
Edição feita por: vrsbueno, 06/02/2006, 00:23.
#12
Posted 06/02/2006, 23:37
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)
#13
Posted 07/02/2006, 00:29
E até agora nao deu erro
#14
Posted 26/02/2008, 22:06
Chacal eu uso esse sistema de embaralhamento de string é quase criptografia mas é muito bom.Como que faz pra criptografar a sneha que vai pro banco de dados?
Criptografia de 64bits (BASE64):' as contantes abaixo server para criptografar...vc pode modificalas.. assim soh vc sabera descriptografar... Const EncC1 = 100 Const EncC2 = 105 Const EncKey = 115 '============================================================== '######################## 'Criptografa informações '######################## Function Encripta(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 Encripta = TempResult End Function '============================================================== '######################## 'Descriptografa informações '######################## Function Decripta(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(Mid(TempStr, i, 1)) + TempKey) * EncC1) + EncC2) Mod 65536 TempResult = TempResult & TempChar Next Decripta = TempResult End Function Private Function AuxShr(Numero, BShr) AuxShr = Int(Numero / (2 ^ BShr)) End Function
fazendo isso quando vc for inserir um dado via ASP no banco de dados vc faz assim:insert into tabela (campo) values('" & Encripta("algumacoisa") & "');")
e depois pra chamar no seu asp vc usa:variavel = Decripta(rs("campo")
Se precisar de ajuda estou ai ok.
Então...
A gente tá fazendo um trabalho de facul e precisaria saber maiores detalhes sobre esse código que você fez.
Qual método foi utilizado? Como por exemplo mudaríamos a segurança dele de 64 para 128 ou 256bits?
Se puder responder, valeu!
Abraço!
#15
Posted 04/08/2008, 17:08
Agora na página onde o usuário informa o login e senha estou tendo dificuldades, como seria?
meu cod:
não da erro simplesmente diz que o usuário não existe.sql = "select id_usuario,login,senha,ativo from cadastro where login='"&login&"' and senha='"&Decripta("senha")&"'"
Set rs = conn.Execute(sql)
Não sei assinar... ehehehe
----------------------------------------------------------------------------
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










