Ads 468x60px

Perfil

miércoles, 27 de marzo de 2013

Contraseñas encriptadas con Java

¿QuiĂ©n no ha querido encriptar texto o archivo? Hay diversas maneras para hacer eso, por ejemplo, utilizando un diccionario donde se reemplazara cada caracter por un cĂłdigo.. y para poder desencriptarlo se deberĂ­a utilizar el mismo diccionario para revertir el proceso. Pero si el diccionario cae en manos de alguien que no queremos que lo sepa, entonces estamos en peligro.
Cuando yo programaba en pascal, mi encriptación favorita era invirtiendo los bits... pero cualquiera también puede invertir los bits y listo.
Pero ya gente experta logrĂł algoritmos de encriptaciĂłn populares. Los más conocidos: MD5 y SHA. 
En este post hablaremos cómo encriptar texto, sobretodo las contraseñas, utilizando MD5 o SHA.

La historia de la criptografĂ­a es bastante larga e interesante, pero para nuestro dĂ­a a dĂ­a, solo necesitamos cĂłmo utilizar las bibliotecas existentes en el mercado.
Hace un tiempo, hice un post de ello (MD5 en Java) que consistĂ­a en utilizar el mismo API de Java para generar MD5.Pero ahora mostrarĂ© una biblioteca muy Ăştil proporcionada por la fundaciĂłn ASF

COMMONS CODEC

Podemos descargar su biblioteca desde aquĂ­ http://commons.apache.org/codec/download_codec.cgi
Descomprimimos el archivo y tomamos el .jar llamado commons-codec-1.5.jar y lo agregamos al proyecto. En NetBeans solo le damos clic derecho en Libraries del Proyecto y seleccionamos el .jar.

La clase DigestUtils es nuestra clase principal para utilizar los diferentes algoritmos de encriptaciĂłn.

MD5

        String texto="Saludos desde Apuntesdejava.com";
        String encriptMD5=DigestUtils.md5Hex(texto);
        System.out.println("md5:"+encriptMD5);
La salida resultante es:
md5:e5adf3f9fe476c7816eacd3873f5b51f

Para comprobarlo, yo utilizo la consola de MySQL

SHA-HEX

Similar al MD5, solo es otro método
        String texto="Saludos desde Apuntesdejava.com";
        String encript=DigestUtils.shaHex(texto);
        System.out.println("shaHex:"+encript);
La salida resultante es:
shaHex:2b05363b154309d7fc069cd922f316fa3f3ff866
Y en MySQL:

SHA-256 / 512

Para el SHA 256 se utiliza el mĂ©todo DigestUtils.sha256, y para 512, se utiliza DigestUtils.sha512. Los resultados son como siguen:
sha-256:9a4557a0f654365312b430b80f0da46be2c3a9db6a083f545145398fc66c92d8
sha-512:4c0a2187e03531011c7787752b66e8848a5f146e8aa08e5b5615030c5daa9cd756150e225943b5182de2434d925a4d6889b2d129ed87f23943bce9a8342b02bd
Como podemos ver.. a mayor bits, mayor confiabilidad.

Su contraparte, en MySQL, se utiliza la funciĂłn sha2(). Ojo, esta funciĂłn reciĂ©n está disponible en la versiĂłn 5.5.5.

martes, 26 de marzo de 2013

5 formas de descargar videos de YouTube a tu ordenador


Vivimos en una cultura de mash-up. Y como tal, una de las herramientas más potentes con las que contamos es YouTube. Este servicio fundado en 2005 y adquirido poco despuĂ©s por Google recibiĂł recientemente importantes actualizaciones. Sin embargo, y aunque con esta nueva actualizaciĂłn se podrá visualizar videos offline desde Android, algunos usuarios "old school" prefieren tener el video almacenado en su propio ordenador. Siempre y cuando, por supuesto, se respeten reglas de copyright para no meterse en problemas con YouTube. Por eso, les vamos a presentar una serie de 5 aplicaciones web y software que se puede usar para descargar videos del servicio.

KeepVid

KeepVid es uno de los servicios más antiguos y pioneros en lo que respecta a esto de "bajar" videos de YouTube. Es una aplicaciĂłn web, y como tal simplemente tenemos que copia y pegar el enlace de YouTube en la barra de texto. Nos proveerá un link de descarga.

YouTube-mp3

Algo que a veces pasa es que se suben videos exclusivamente con audio a YouTube. De hecho, es una de las formas más populares de consumo de música que existen actualmente. Por eso, nunca está de más saber que existe un recurso para bajar solamente el audio de un video. Con un funcionamiento similar al de KeedVid,YouTube-mp3, una de las primeras apps de nombre evidente que mencionaremos aquí, nos permite descargar nada más que un archivo mp3.

YouTube Downloader

Abandonamos brevemente el mundo de las apps basadas en la web para irnos a una extensiĂłn para Google Chrome muy Ăştil, porque no requiere que tengamos que entrar a una página web y copiar un enlace. Pero, para los fanáticos de la seguridad, sĂ­ vamos a tener que otorgar algunos permisos. Lo que hace el YouTube Downloader es crear un botĂłn dentro del mismo video de YouTube para que descarguemos en la calidad deseada, además de tener la opciĂłn de descargar solamente el audio.

Vixy Freecoder

Vixy es una aplicaciĂłn de escritorio que no solamente funciona para YouTube, sino tambiĂ©n para Vimeo y DailyMotion, entre otros. Quizás es un poco más confiable porque no dependemos de la web para poder ingresar a los videos, y, por ejemplo, solamente necesitamos tener el enlace para empezar a descargar.

Ace Downloader

En el caso de que KeepVid no se encuentre disponible, una buena opciĂłn puede ser Ace Downloader que básicamente tiene el mismo funcionamiento. Una de las funcionalidades más interesantes que tiene es que, asĂ­ como YouTube Downloader, nos permite seleccionar el formato en el cual queremos guardar el archivo. Por ejemplo, si queremos verlo en nuestro iPad o iPod Touch más tarde.

lunes, 25 de marzo de 2013

Calidad Del Software (Diseño de Pruebas)


A continuaciĂłn se describen los pasos a llevar a cabo durante esta fase del ciclo de vida de calidad de un producto software:
  • Antes de ejecutar las pruebas, es necesario saber: quĂ© se va a probar, cuáles van a ser las entradas y los resultados producidos y cĂłmo se van a preparar y ejecutar las pruebas.
El análisis de pruebas es el proceso de examinar todo aquello que pueda proporcionar informaciĂłn para las pruebas. Estas serán las bases para las pruebas, que pueden ser un requisito del sistema, una especificaciĂłn tĂ©cnica, el cĂłdigo en sĂ­ o un proceso de negocio.
Algunas veces las pruebas se pueden basar en el conocimiento del sistema de un usuario experto y podrán no ser documentadas. Las bases de pruebas incluyen cualquier cosa en la que se basen las pruebas.
  • El siguiente paso serĂ­a definir condiciones de pruebas. Una condiciĂłn de prueba es un elemento o evento de un componente o sistema que puede ser verificado mediante uno o más casos de prueba, es decir, algo que podrĂ­a probarse. Para definirlas, habrá que acudir a las bases de pruebas. Las condiciones de pruebas deberĂ­an poderse enlazar/trazar con su origen en las bases de pruebas.
  • Crear casos de pruebas: Las condiciones de pruebaspueden ser imprecisas y cubrir un gran rango de posibilidades. Sin embargo al crear casos de pruebas es necesaria una especificaciĂłn detallada de los mismos. No es recomendable usar descripciones generales.
El siguiente gráfico muestra cómo llevar a cabo un caso de prueba:
Los casos de pruebas están formados por precondiciones, entradas, salidas y postcondiciones. Como precondiciones podrĂ­an incluirse el entorno, datos de pruebas, prioridades, comportamientos esperados y otros detalles. Entre las prioridades incluimos condiciones de pruebas, valores especĂ­ficos de entrada, riesgos asociados y secuencias de ejecuciĂłn. Una vez que las precondiciones están listas introduciremos las entradas al sistema, y tras una serie de pasos de ejecuciĂłn se obtendrán las salidas. Las salidas han de ser previstas antes de la ejecuciĂłn de un caso de pruebas. Si se sabe con certeza quĂ© salida deberá producirse con las entradas que se han escogido serán salidas conocidas. Si no se saben con certeza habrá que deducirlas pudiendo ser prueba del oráculo o del oráculo parcial. Una vez que se tienen las salidas habrá que determinar que acciones hay que aplicarse ahora, las postcondiciones.  

  • Una vez que tenemos los casos de pruebas, el siguiente paso es agrupar los casos de pruebasen el orden de su ejecuciĂłn y especificar los pasos secuenciales que se necesitan llevar a cabo para ejecutar la prueba. Por ejemplo, un conjunto de pruebas simples que cubra el alcance de un sistema puede formar un grupo de pruebas de regresiĂłn.

domingo, 24 de marzo de 2013

ProgramaciĂłn web sin salir del navegador


Son muchas las herramientas para iniciarse en el mundo de la programaciĂłn web, y, paradĂłjicamente, la mayorĂ­a requieren de instalaciĂłn en el sistema operativo de turno, o al menos ejecutarlas desde el mismo. Eso cambia con Coding The Web, una propuesta que no requiere ni que salgamos del navegador.
Coding The Web
Coding The Web es una aplicaciĂłn Chrome que nos da un dashboard / lienzo en blanco desde el que podemos realizar pequeñas (o no tan pequeñas) escrituras de cĂłdigo en HTML, CSS y Javascript con el fin de probarlas directamente en el navegador.
Dividido en tres paneles y uno adicional desde el que hacemos la previsualizaciĂłn, tambiĂ©n contamos con la opciĂłn de obtener la vista previa de forma automática. Si no, tendremos que pulsar un sencillo botĂłn pararenderizar la página a la derecha, y ver como se vĂ© y funciona.
La ecuación la completa un selector de temas para que ni nuestra vista ni nuestra mente se cansen, y un pequeño cuadro de ayuda donde vemos cómo se utiliza: Básicamente escribiendo las porciones de código en los cuadros correspondientes.
Además, lleva jQuery 1.7 incluido, con lo que no hace falta siquiera importarlo. Ideal para programadores y gente que quiera dar sus primeros pasos en el mundo de la web.

sábado, 23 de marzo de 2013

Robo de identidad en redes sociales, ¿quĂ© hacer?


Identity-Theft
Internet ha revolucionado nuestra forma de comunicarnos con la gente que nos rodea y, en muchos casos, nos ha sirve de puente para establecer nuevos contactos profesionales o conectar con gente con aficiones o inquietudes comunes. Las redes sociales son un instrumento con el que mucha gente permanece en contacto con sus amigos, busca empleo o comparte sus fotos o vĂ­deos, sin embargo, ante este enorme caudal de datos personales que viajan por la red, encontramos que existen personas con no muy buenas intenciones que intentarán acceder a estos datos para comerciar con ellos o, en algunos casos, suplantar nuestra identidad.
Quizás pueda parecer exagerado pero segĂşn el observatorio europeo, el 4% de los ciudadanos de la UniĂłn Europea fue vĂ­ctima de robos de datos personales y/o suplantaciones de identidad, cifra que aumenta en los casos de España y Bulgaria con un 7% de los internautas de estos paĂ­ses. De hecho, para que tengamos en cuenta la gravedad de la situaciĂłn, el 3% de los internautas europeos sufriĂł pĂ©rdidas financieras debido al uso fraudulento de su tarjeta de crĂ©dito o a ataques de phishing (con Letonia a la cabeza con un 8% de sus internautas).
Pensemos que nuestros perfiles en Facebook y en Twitter, de alguna forma, son tambiĂ©n nuestra tarjeta de presentaciĂłn y, en unas manos inadecuadas, podrĂ­an causar un gran daño a nuestra reputaciĂłn; es por ello por lo que debemos extremar las precauciones para evitar que esto suceda y, si tenemos la mala fortuna de ser vĂ­ctima de una suplantaciĂłn de identidad, actuar rápidamente para mitigar el daño causado y atajar el problema lo antes posible.

¿En quĂ© consiste un robo de identidad?

Un robo de identidad consiste en el acceso no autorizado a alguno de nuestros perfiles, nuestra cuenta de correo o a nuestra cuenta en la banca online, es decir, cuando alguien consigue nuestro usuario y contraseña en un servicio o es capaz de averiguar nuestra clave o la respuesta a la "pregunta secreta".
El robo de identidad es mucho más antiguo que las redes sociales, de hecho, ocurría si a alguien le robaban su documento de identidad o su tarjeta de crédito y, por ejemplo, realizaban compras en su nombre. Sin embargo, la extensión del uso de servicios online ha propiciado la aparición de robos de identidades digitales, ya sea para espiar lo que hace/dice alguien, manchar su nombre, suplantarle o robarle datos confidenciales.

¿CĂłmo pueden robar el acceso a nuestra cuenta?

Un despiste, por ejemplo, puede propiciar un acceso no autorizado a alguna de nuestras cuentas. ¿Despistes? SĂ­, por ejemplo, dejarnos la sesiĂłn abierta en un equipo de uso compartido o dejar nuestro equipo con sesiones abiertas en el navegador y dejar que alguien lo utilice (sin nuestra supervisiĂłn), acciones a las que no les damos importancia pero que implican la exposiciĂłn de nuestras cuentas a un tercero.
Al igual que avanza la tecnologĂ­a, tambiĂ©n avanzan los mĂ©todos que siguen estos "ladrones digitales" para intentar acceder a nuestros datos. FireSheep, que nos aterrorizĂł el otoño pasado, no fue más que un aviso que realizĂł un experto en seguridad que nos mostrĂł lo vulnerables que Ă©ramos en un congreso, en una cafeterĂ­a o en un hotel en la que la red inalámbrica no estuviese cifrada.
Pero, quizás, el mayor de los riesgos estĂ© en nosotros mismos. Una mala polĂ­tica personal de contraseñas puede ser un problema para la preservaciĂłn de nuestra identidad digital. Usar la misma contraseña en todos los servicios web en los que estamos registrados en un gran riesgo, básicamente, porque si se compromete uno, todos lo están. Este es uno de los fallos más comunes que junto a compartir la contraseña con amigos y/o familiares, apuntar la contraseña en las notas del mĂłvil o en un papel que guardamos en la cartera y poner una obviedad en la respuesta de las "preguntas secretas" son malas prácticas que comprometen nuestros datos. PonĂ©rselo complicado a estos "amigos de lo ajeno 2.0" está en nuestras manos y la contraseña es algo que definimos nosotros mismos.

¿CĂłmo podemos darnos cuenta?

Desgraciadamente, el robo de identidad se detecta de manera reactiva, es decir, nos enteramos cuando ha sucedido y hemos notado alguno de sus efectos.
¿Efectos? SĂ­, imaginemos que un dĂ­a intentamos acceder a nuestra cuenta de correo electrĂłnico o a nuestro perfil en Facebook y por mucho que repetimos la contraseña, Ă©sta aparece como invalida. Intentamos recuperar la contraseña a travĂ©s de la pregunta secreta pero tampoco somos capaces de dar con al respuesta correcta; al poco, uno de nuestros amigos nos llama para preguntarnos por una publicaciĂłn fuera de tono que hemos realizado en Facebook y cuando vamos al cajero automático encontramos una compra, pagada a travĂ©s de PayPal, que no hemos realizado.
Aunque parezca una pesadilla o el guiĂłn de un telefilme, es algo que podrĂ­a suceder y que, de hecho, sucede. Normalmente el usuario se entera despuĂ©s de que haya pasado y, en los casos de pishing o en los robos de documentos de identidad, las vĂ­ctimas se han encontrado en listas de morosos por impagos de facturas de compras que jamás realizaron. En el mundo de las redes sociales tambiĂ©n podrĂ­a costarnos algĂşn disgusto porque, si alguien entrase en nuestra cuenta de LinkedIn y le dejase un mensaje nada amigable a nuestro Director General, seguramente, no le hiciese demasiada gracia.
Robo de Identidad - Portatil

¿QuĂ© podemos hacer? ¿CĂłmo actuar ante una suplantaciĂłn de identidad?

Si hemos sido vĂ­ctima de un robo de identidad o sospechamos que algo no funciona bien debemos actuar rápidamente pero sin perder la calma.
Si aún tenemos acceso al servicio, es decir, nuestras credenciales siguen valiendo, es el momento de cambiar las contraseñas de todos los servicios a una que no guarde un patrón similar y que, además, no contenga cadenas de caracteres significativas (apellidos, nombres, ciudades, fechas de nacimiento, etc). Dentro de lo malo, sería el escenario más favorable puesto que podríamos atajar el problema de manera autónoma, eso sí, bueno es dar una vuelta por nuestras cuentas para revisar las publicaciones realizadas. De hecho, deberíamos de esta manera si nuestra contraseña se viese expuesta por cualquier motivo (aunque no haya indicios de robo o suplantación).
En el peor de los casos podrĂ­amos estar sin acceso a nuestra cuenta de correo y/o a cualquiera de nuestros perfiles sociales. En tal caso tenemos que mantener la calma y abordar el problema desde dos frentes:recuperar el control de nuestras cuentas y poner el caso en conocimiento de las autoridades.
Para poder recuperar el control de nuestras cuentas, prácticamente, todos los servicios tienen publicado un procedimiento que regula cómo contactar con los responsables del servicio para informar de la pérdida del control de nuestra cuenta, solicitar una suspensión temporal de la actividad de la misma o volver a recuperar el control de ésta:
Además, para evitar que no nos hagan responsables de lo que hagan o publiquen desde nuestros perfiles (denuncias de terceros, inclusión en alguna lista negra, etc), debemos informar a las autoridades de lo que ha sucedido, en el caso de España, ante la Policía o la Guardia Civil y ante la Agencia de Protección de Datos.
Consejos Seguridad

¿CĂłmo podemos estar prevenidos?

Aunque nadie está libre de ser vĂ­ctima de un robo de identidad, sĂ­ que es verdad que podemos ponĂ©rselo algo más complicado a los que intentan acceder a nuestros datos, simplemente, siguiendo unas pautas que nos ayudarán a estar mejor protegidos:
  • Nunca usar la misma contraseña en todos los servicios en los que estamos registrados y, además, no usar contraseñas sencillas que sean fácilmente asociables a nosotros (fechas de nacimiento, nombres, apellidos, mascotas, etc).
  • No compartir la contraseña de acceso con nadie y cambiarla tras un tiempo prudencial, mĂ­nimo tres meses al año y nunca repetir como si fuese una secuencia.
  • En equipos compartidos, o de uso pĂşblico, usar el modo de navegaciĂłn anĂłnimo o vaciar cachĂ©, historial, contraseñas y formularios guardados.
  • Utilizar navegaciĂłn segura en todos los sitios web que lo permitan, ya sea configurándolo asĂ­ o usando algĂşn complemento como HTTPS Everywhere, sobre todo, cuando accedamos a travĂ©s de redes inalámbricas sin cifrar.
  • Prestar atenciĂłn a los sitios web a los que solemos acceder para ver si han sufrido algĂşn cambio sustancial o, en el caso de la banca electrĂłnica, no aparecen como sitios seguros.
  • No dejar nuestro equipo sin vigilancia, desbloqueado y con sesiones abiertas.
  • Jamás enviar contraseñas por correo electrĂłnico. Servicios web como Facebook o Twitter, o la banca electrĂłnica, nunca nos van a pedir por correo electrĂłnico que les enviemos la contraseña y, si recibimos algĂşn correo asĂ­, seguramente sea un intento de pishing.