Aquí podría ser tu PUBLICIDAD


Desencripta la secuencia C #

votos
3

Mi empresa está en proceso de hacerse cargo de un sitio web exclusivo para miembros de un tercero. Hemos vuelto a escribir el sitio web y el último paso es importar los usuarios existentes. Tenemos la base de datos con los usuarios y sus contraseñas. También nos dieron la 'clave' y nos dijeron que el campo de contraseña está encriptado con encriptación AES.

Necesito descifrar las contraseñas y luego volver a encriptarlas en la nueva base de datos usando la clave de cifrado de mi empresa. Usando .Net, ¿cómo puedo descifrar las contraseñas solo con la clave? Todas las muestras que he visto requieren información como BlockSize, InitializationVector, KeySize, etc. No tengo esa información.

Gracias

Publicado el 12/03/2009 a las 19:38
fuente por usuario Matt
En otros idiomas...        العربية       

4 respuestas

votos
1

¿Por qué no enviar a cada usuario un correo electrónico que contiene un enlace único en el que puede hacer clic, que lo lleva a una página donde puede restablecer su contraseña?

Los usuarios deberían cambiar sus contraseñas regularmente de todos modos.

Respondida el 15/03/2009 a las 10:03
fuente por usuario Daniel Earwicker


Aquí podría ser tu PUBLICIDAD


votos
1

Esto parece incorrecto ... Las contraseñas no suelen estar cifradas, sino que son hash. Si ese es el caso, entonces no podrá recuperar las contraseñas originales.

¿Hay alguna manera de mirar el código original para ver cómo se generaron las contraseñas?

Respondida el 15/03/2009 a las 03:14
fuente por usuario Jesse Weigert

votos
0

Sin conocer el IV, lo más probable es que sea imposible descifrarlo, especialmente dado que se trata de contraseñas que probablemente sean menores que el tamaño del bloque (el estándar AES es de 128 bits).

Sus opciones son bastante limitadas aquí:

  • Pregúntele al sitio web de terceros por el IV
  • Si tiene acceso a su código, probablemente encontrará el mismo uso IV para encriptar todas las contraseñas dentro del código (aunque esta no es una buena práctica) ya que no habría forma de que puedan autenticar usuarios en el futuro sin usar el el mismo una y otra vez, o almacenando el que usaron para un usuario específico en algún lugar de la base de datos
  • Haga que los usuarios vuelvan a registrarse en su nueva versión del sitio y utilicen alguna forma de hash en lugar de cifrado
Respondida el 12/03/2009 a las 08:11
fuente por usuario John Rasch

votos
0

BlockSize y KeySize con los que puedes jugar (están en múltiplos de 8 IIRC).

No estoy seguro sobre el vector de inicialización. Podrían ser todos los 0, pero necesitaría al menos 1 contraseña descifrada correctamente para verificar eso.

Buena suerte. :)

Respondida el 12/03/2009 a las 07:40
fuente por usuario leppie