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
----------------------------------------------------------------------------
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)