Autor
|
Tema: Desemcriptar contraseña en sql (Leído 4,478 veces)
|
Libra_18
Desconectado
Mensajes: 4
|
Tengo la siguiente función en sql, que me permite en cripta una contraseña... pero ahora quisiera saber cuál es el algoritmo, que me permita desemcriptar la contraseña ALTER FUNCTION [dbo].[F_ENCRIPTA] ( @pvCadena Varchar(20), @pnEncripta Integer ) Returns Varchar(20) As Begin Declare @vReturn Varchar(20) Declare @vCadena Varchar(20) Declare @vCad Varchar(30) Declare @vCrip Varchar(30) Declare @nLen Numeric(5,0) Declare @nContador Integer
Set @vCadena = LTrim(RTrim(@pvCadena)) Set @vCrip = '' Set @nLen = Len(@vCadena) + 1 Set @nContador = 1
While @nContador <= @nLen - 1 Begin Set @vCad = Substring(@vCadena,@nContador,1) If @pnEncripta > 0 Set @vCad = Char(Ascii(@vCad) + (@nLen) - @nContador) Else Set @vCad = Char(Ascii(@vCad) - (@nLen) + @nContador)
Set @vCrip = @vCrip + @vCad Set @nContador = @nContador + 1 End
Set @vReturn = @vCrip Set @vReturn = IsNull(@vReturn,'') Return(@vReturn) End
|
mi contraseña es 123 pero en mi base de datos me sale 444 como la desemcripto teniendo el siguiente algoritmo de cifrado
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
¿Has intentado comprender el algoritmo? Es una pequeña variación del cifrado César. No se para que se utilizará esa función, espero que no sea para las contraseñas, pero en ese caso, es del tipo de funciones que es conveniente tenerlas cifradas Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Shell Root
|
Pero pusiste 123 como cadena, pero falta el otro parámetro. Cual es? (Es para realizar una prueba)
|
|
|
En línea
|
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
1
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
<<<-Basura->>>
Desconectado
Mensajes: 388
|
Bueno, es una opción, pero no la mas eficaz, Fuerza bruta, ejemplo: Tu contraseña: 123 Se almacena como 444
Digamos que todas las contraseñas son de 3 dígitos y todos son números para no complicarnos.
000 -> primera contaseña, la pasamos por el algoritmo y dos da un VALOR,
VALOR lo comparamos con la contraseña almacenada, SI son IGUALES es la contraseña, obvio que sino NO! jeje
muchos dirán pero es una tontera ya que si hay miles de contraseñas en la base de datos y hacerle eso a todas, es perder el tiempo....
Podríamos programar un sistema maso menos inteligente jeje.. digamos que Si llego a la contaseña 123 y comparo y dio igual valor "444", almacenamos el valor "444" y lo unimos a 123, es decir que si nuestro programa encuentra en la base de datos otro "444", primero ira a revisar si fue encontrado anterior mente y sino aplicara el método de FBruta..
muchos usuarios utilizan las contraseñas muy parecidas o muy simples, que casi asta se vuelve repetitivo...
|
|
|
En línea
|
<<<--Basura-->>>
|
|
|
Shell Root
|
Nah, pero si tenemos el source del encrypt siempre se puede realizar un decrypt, no crees?
|
|
|
En línea
|
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
|
|
|
<<<-Basura->>>
Desconectado
Mensajes: 388
|
Lo que te dije era una opción nada mas... jeje
|
|
|
En línea
|
<<<--Basura-->>>
|
|
|
|
|