Jump to content


Photo

Criptografar senha


  • Faça o login para participar
14 replies to this topic

#1 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 12/02/2003, 14:40

Como que faz pra criptografar a sneha que vai pro banco de dados?

#2 danilo.max

danilo.max

    12 Horas

  • Usuários
  • 143 posts
  • Sexo:Não informado

Posted 12/02/2003, 15:16

Como que faz pra criptografar a sneha que vai pro banco de dados?

Chacal eu uso esse sistema de embaralhamento de string é quase criptografia mas é muito bom.

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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

Posted 05/02/2006, 22:06

mas quando eu tento inserir um dados criptografado no banco ele dá erro:


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 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 05/02/2006, 22:20

rodei o codigo do rapaz aqui e funcionou tanto na criptografia qto na sua volta ao texto original.....vrsbueno qual o codigo que voce rodou que nao funcionou?
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

Posted 05/02/2006, 22:33

o codigo tá beleza

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 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 05/02/2006, 23:39

usando as numeraçoes que vc me passou rodou belezinha...

<%' 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
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

Posted 05/02/2006, 23:49

cara, tente fazer isso com as variaveis que eu te passei por PM!!!

veja o PM!

#8 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 06/02/2006, 00:08

cara, tente fazer isso com as variaveis que eu te passei por PM!!!

veja o PM!

Foi o que eu te disse no post acima..logo na primeira linha ....


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 ?
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

Posted 06/02/2006, 00:16

memorando

tente cadastrar um usuario com senha cometa no site:
www.cbdod.com.br

#10 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 06/02/2006, 00:21

memorando

tente cadastrar um usuario com senha cometa no site:
www.cbdod.com.br

Poste aqui o codigo do seu insert no banco de dados junto com a parte da criptografia
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

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 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 06/02/2006, 23:37

Qual o erro ? fiz um, teste aqui e rodou blz :unsure: , o erro que vc postou nao tem nenhum codigo aqui que tem essa consulta ??
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“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 vrsbueno

vrsbueno

    Ativo

  • Usuários
  • 351 posts
  • Sexo:Não informado
  • Localidade:Taubaté-SP

Posted 07/02/2006, 00:29

to usando outro tipo de criptografia

E até agora nao deu erro

#14 KBR

KBR

    kl3b3r

  • Usuários
  • 392 posts
  • Sexo:Não informado
  • Localidade:Mauá - SP
  • Interesses:ASP // DESENVOLVIMENTO WEB // MYSQL // ACCESS // FLASH // FIREWORKS // DREAMWEAVER // REDES

Posted 26/02/2008, 22:06

Como que faz pra criptografar a sneha que vai pro banco de dados?

Chacal eu uso esse sistema de embaralhamento de string é quase criptografia mas é muito bom.

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 Operador

Operador

    12 Horas

  • Usuários
  • 228 posts
  • Sexo:Masculino
  • Localidade:Picos - PI

Posted 04/08/2008, 17:08

Olha só migrei meu bd para access para mysql e quero criptografar a senha quando gravada, usei o código acima, ela criptografa sempre assim: ^¿ú / está correto?

Agora na página onde o usuário informa o login e senha estou tendo dificuldades, como seria?

meu cod:

sql = "select id_usuario,login,senha,ativo from cadastro where login='"&login&"' and senha='"&Decripta("senha")&"'"
Set rs = conn.Execute(sql)

não da erro simplesmente diz que o usuário não existe.
----------------------------------------------------------------------------
Não sei assinar... ehehehe
----------------------------------------------------------------------------




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq