{"id":405,"date":"2011-07-02T16:47:32","date_gmt":"2011-07-02T16:47:32","guid":{"rendered":"https:\/\/www.jose-aguilar.com\/blog\/?p=405"},"modified":"2012-02-29T21:18:46","modified_gmt":"2012-02-29T21:18:46","slug":"encriptar-contrasenas-con-php","status":"publish","type":"post","link":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/","title":{"rendered":"Encriptar contrase\u00f1as con PHP"},"content":{"rendered":"<p><a href=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-409\" title=\"md5\" src=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\" alt=\"\" width=\"200\" height=\"150\" \/><\/a>Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contrase\u00f1as.<\/p>\n<p>Si en nuestra p\u00e1gina web tenemos un sistema de usuarios y queremos proteger las contrase\u00f1as para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contras\u00f1as, de manera que si alguien puede acceder a ellas no pueda ver la contrase\u00f1a si no su encriptaci\u00f3n.<\/p>\n<p>Para mejorar este sistema, lo que haremos es usar un algoritmo de encriptaci\u00f3n de un solo sentido, es decir que no se puede desencriptar de ninguna manera, como por ejemplo md5.<\/p>\n<p>Para guardar la contrase\u00f1a encriptada en md5, usaremos la funcion md5() de PHP:<\/p>\n<pre>&lt;?php\r\n$contrasena = md5($contrasena);\r\n?&gt;<\/pre>\n<p>Ya podemos guardar la contrase\u00f1a en nuestra base de datos o fichero, pero\u2026 \u00bfcomo haremos para comprobar la contrase\u00f1a en el inicio de sesi\u00f3n?<\/p>\n<p>Muy f\u00e1cil, como en la base de datos tenemos la contrase\u00f1a en md5, encriptaremos la contrase\u00f1a que escribe el visitante de la misma manera que hemos encriptado la contrase\u00f1a del usuario en el momento de su reg\u00editro, ahora ya podremos comparar la contrase\u00f1a enviada con la almacenada en el servidor, si la encriptaci\u00f3n coincide es que la contrase\u00f1a es correcta.<\/p>\n<p>Pero si no usamos una transmisi\u00f3n segura (pe: SSL) sigue habiendo un problema, cuando el usuario env\u00eda los datos al servidor, la contrase\u00f1a es enviada sin encriptar, y en ese momento puede ser capturada por un tercero. Para evitar esto, podemos encriptar la clave en el ordenador del cliente usando JavaScript, gracias a Javascript MD5, en lugar de encriptarla en el servidor usando PHP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contrase\u00f1as. Si en nuestra p\u00e1gina web tenemos un sistema de usuarios y queremos proteger las contrase\u00f1as para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contras\u00f1as, de manera que si alguien puede acceder a ellas no pueda ver [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":409,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[64],"class_list":["post-405","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-password"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog\" \/>\n<meta property=\"og:description\" content=\"Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contrase\u00f1as. Si en nuestra p\u00e1gina web tenemos un sistema de usuarios y queremos proteger las contrase\u00f1as para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contras\u00f1as, de manera que si alguien puede acceder a ellas no pueda ver [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Jose Aguilar Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/joseaguilarblog\" \/>\n<meta property=\"article:published_time\" content=\"2011-07-02T16:47:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-02-29T21:18:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jose Aguilar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:site\" content=\"@JoseAguilarBlog\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Aguilar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/\",\"name\":\"Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\",\"datePublished\":\"2011-07-02T16:47:32+00:00\",\"dateModified\":\"2012-02-29T21:18:46+00:00\",\"author\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\",\"contentUrl\":\"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg\",\"width\":200,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/www.jose-aguilar.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Encriptar contrase\u00f1as con PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#website\",\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/\",\"name\":\"Jose Aguilar Blog\",\"description\":\"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11\",\"name\":\"Jose Aguilar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g\",\"caption\":\"Jose Aguilar\"},\"description\":\"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.\",\"sameAs\":[\"https:\/\/plus.google.com\/114357189801512615537\"],\"url\":\"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog","og_description":"Para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contrase\u00f1as. Si en nuestra p\u00e1gina web tenemos un sistema de usuarios y queremos proteger las contrase\u00f1as para prevenir posibles vulnerabilidades en nuestro servidor, es una medida eficaz encriptar las contras\u00f1as, de manera que si alguien puede acceder a ellas no pueda ver [&hellip;]","og_url":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/","og_site_name":"Jose Aguilar Blog","article_publisher":"https:\/\/www.facebook.com\/joseaguilarblog","article_published_time":"2011-07-02T16:47:32+00:00","article_modified_time":"2012-02-29T21:18:46+00:00","og_image":[{"width":200,"height":150,"url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg","type":"image\/jpeg"}],"author":"Jose Aguilar","twitter_card":"summary_large_image","twitter_creator":"@JoseAguilarBlog","twitter_site":"@JoseAguilarBlog","twitter_misc":{"Escrito por":"Jose Aguilar","Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/","url":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/","name":"Encriptar contrase\u00f1as con PHP - Jose Aguilar Blog","isPartOf":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage"},"image":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg","datePublished":"2011-07-02T16:47:32+00:00","dateModified":"2012-02-29T21:18:46+00:00","author":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11"},"breadcrumb":{"@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#primaryimage","url":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg","contentUrl":"https:\/\/www.jose-aguilar.com\/blog\/wp-content\/uploads\/2011\/07\/md5.jpg","width":200,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.jose-aguilar.com\/blog\/encriptar-contrasenas-con-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.jose-aguilar.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Encriptar contrase\u00f1as con PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.jose-aguilar.com\/blog\/#website","url":"https:\/\/www.jose-aguilar.com\/blog\/","name":"Jose Aguilar Blog","description":"Desarrollo Web con PrestaShop, WordPress, PHP, jQuery y Ajax","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jose-aguilar.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/e6d485db1e1140866e95971d17105d11","name":"Jose Aguilar","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.jose-aguilar.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/abbfef5f1d75260c549d0f2c2842bb697ba1aadff3b2836b39d2590c8a625415?s=96&d=mm&r=g","caption":"Jose Aguilar"},"description":"Director ejecutivo y tecnol\u00f3gico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.","sameAs":["https:\/\/plus.google.com\/114357189801512615537"],"url":"https:\/\/www.jose-aguilar.com\/blog\/author\/josea902\/"}]}},"_links":{"self":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/comments?post=405"}],"version-history":[{"count":0,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/posts\/405\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media\/409"}],"wp:attachment":[{"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/media?parent=405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/categories?post=405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jose-aguilar.com\/blog\/wp-json\/wp\/v2\/tags?post=405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}