Si vas a copiar

.. y pegar este post en tu web o blog personal, por favor te pido que coloques el link del post de donde lo copiastes:

Fuente:

Mostrando las entradas con la etiqueta benchmarks. Mostrar todas las entradas
Mostrando las entradas con la etiqueta benchmarks. Mostrar todas las entradas

La mejor forma de encriptar contraseñas en C# y VB.NET

31 de octubre de 2012 3 comentarios:


Hace como dos años hice este post pero la encriptacion md5 es considerada insegura, incluso desde mucho antes de crear ese post

¿Porque md5 es inseguro?


Con el hardware actual es posible crackear md5, de hecho en internet hay herramientas y hasta paginas web como http://crackstation.net/ que te ayudan a crackear no solo md5 sino una amplia cantidad de algoritmos de hash/encriptacion, pero existe una utilidad mucho mas poderosa capaz de crackear md5 llamada oclHashcat-lite que usa el procesador grafico GPU(tarjeta de video/grafica)

Esta utilidad es capaz de crackear los siguientes algoritmos:

  • MD5
  • md5($pass.$salt)
  • Joomla
  • SHA1
  • nsldap, SHA-1(Base64), Netscape LDAP SHA
  • sha1($pass.$salt)
  • nsldaps, SSHA-1(Base64), Netscape LDAP SSHA
  • Oracle 11g
  • MSSQL(2000)
  • MSSQL(2005)
  • MySQL
  • MD4
  • md4($pass.$salt)
  • NTLM
  • Domain Cached Credentials, mscash
  • SHA256
  • sha256($pass.$salt)
  • descrypt, DES(Unix), Traditional DES
  • SHA512
  • sha512($pass.$salt)
  • SL3
  • Cisco-PIX MD5
  • Double MD5
  • vBulletin < v3.8.5
  • vBulletin > v3.8.5
  • IPB2+, MyBB1.2+
  • LM
  • Oracle 7-10g, DES(Oracle)
  • y muchos mas...

Segun http://www.codinghorror.com/blog/2012/04/speed-hashing.html arroja estos resultados en este GPU y CPU:

  • Radeon 7970           8213.6 M c/s
  • 6-core AMD CPU   52.9     M c/s
 (PRONTO HARE PRUEBAS EN MI AMD HIS 6950 2GB Y CORE i5 2500K)

Ejecute el archivo: oclExample.cmd que contiene el siguiente comando de prueba:

oclHashcat-lite64.exe 9b957cc6ab97cbf88c4f6f0f146adafe

Tardo elrededor de 20minutos para crackear con:


  • AMD 6950 2GB: 4600 M/s
AMD 6950 2GB

Tardo alrededor de 20 minutos en crackear

Con una carga de 96% y 71° de temperatura


Sin duda las tarjetas ATi/AMD son las mejores para este tipo de trabajo

Es por eso que la mejor opcion es Bcrypt


Que para definirlo brevemente es:  

Una funcion derivada de claves

Para la tecnologia .NET tenemos esta libreria llamada BCypt.NET, te puedes descargar la libreria y el codigo fuente tambien, incluso viene con UnitTest para testearla

Recuerda agregar el archivo BCrypt.Net.dll como referencia al proyecto

Es muy sencillo de usar ya que posee solo cuatro metodos y ademas son estaticos, asi que no es necesario instanciar la clase BCrypt para acceder a esos metodos:

  1. GenerateSalt()
  2. HashPassword()
  3. HashString()
  4. Verify()

La documentacion te la puedes descargar de aqui, es un archivo de ayuda de Windows que por cierto esta en ingles, pero como dije es muy facil de usar

Existen dos pasos importantes aqui a la hora de de/encriptar contraseñas:

  1. Encriptar la contraseña cuando se agregue/edite un usuario
  2. Usar el metodo Verify() para verificar que la contraseña de la base de datos corresponde con la contraseña dada

Codigo C#: (pseudocodigo por los momentos)

Aqui tengo un sistema de login usando esta encriptacionen Access 2007

/*
 * Creado por tttony 2012
 * http://tttony.blogspot.com/
 *
 * POR FAVOR NO BORRES ESTE COMENTARIO
 */

public bool AddUser(string name, string pass)
{
    string hashed = BCrypt.Net.BCrypt.HashPassword(pass, BCrypt.Net.BCrypt.GenerateSalt());

    //
    // Agregar aqui la sentencia sql INSERT para guardar el usuario
    // y contraseña encriptada
    //

    // Retornar el valor necesario
    //
    return false;
}

public bool Login(string name, string pass)
{
    //
    // Primero encuentra el usuario
    //
    // SELECT * FROM TablaUsuarios WHERE = 'name'
    //
    // if (founds == 1) si encontro uno
    //
    // Entonces con el objecto del usuario encuentra la contraseña
    // y pasala a la funcion BCrypt.Net.BCrypt.Verify()
    //

    //
    // La funcion Verify() verifica si la contraseña encriptada que
    // esta guardada en la base de datos contiene la palabara clave
    // con la contraseña dada
    //
    bool verify = BCrypt.Net.BCrypt.Verify(pass, password);

    return verify;
}


ESTE POST SE ACTUALIZARA


Publicado en tttony.blogspot.com

Sony Xperia P LT22i benchmark

17 de agosto de 2012 4 comentarios:
Recientemente adquiri este excelente telefono Sony Xperia P LT22i

Especificaciones aqui




He hecho unas pruebas, originalmente viene con Android Gingerbread 2.3.7

Hay una actualizacion para el Android Ice Cream Sandwich 4.0.4 y para actualizar hay dos metodos:

  1. PC Companion
  2. Sony Update Service (SUS)

Conectas el telefono al PC, ejecutas unos de los dos programas que hayas instalado y sigue los pasos que te indicaran alli, recomiendo usar el SUS

ATENCION!!!

Haz una copia de seguridad del telefono ya que se borrara todo!!


A continuacion los screenshots de las pruebas:

Version Android 2.3.7



Antutu Benchmark 2.9.1



Linpack Single Core



Linpack Multi Core



BenchmarkPi



Nenamark 2.4



Sunspider 0.9.1



BrowserMark



KFS Benchmark



Billion Counter Benchmark



RealPi Benchmark




ACTUALIDADO 29/08/2012

Publicado en tttony.blogspot.com

namebench un DNS benchmark

6 de julio de 2012 No hay comentarios.:
Me he encontrado con esta utilidad que prueba y compara tu servidor DNS con otros servidores DNS en el mundo

Es gratuito y ademas de codigo abierto con licencia Apache License 2.0




Descargar namebench

En la pagina te dan los pasos para la instalacion y configuracion en cada plataforma


Publicado en tttony.blogspot.com

Buscar en el Blog



PUBLICIDAD