{"id":395,"date":"2013-08-14T19:16:40","date_gmt":"2013-08-14T19:16:40","guid":{"rendered":"https:\/\/www.brasilnaweb.com.br\/blog\/?p=395"},"modified":"2015-03-25T16:04:08","modified_gmt":"2015-03-25T19:04:08","slug":"criptografia-no-php-md5-sha1-base64","status":"publish","type":"post","link":"https:\/\/brasilnaweb.com.br\/blog\/criptografia-no-php-md5-sha1-base64\/","title":{"rendered":"Criptografia PHP &#8211; md5, sha1, base64"},"content":{"rendered":"<p><span style=\"line-height: 1.714285714; font-size: small;\">Ol\u00e1 pessoal meu nome \u00e9 Tiago Agenor e hoje vamos aprender um pouco mais sobre <strong>criptografia php<\/strong>.<\/span><\/p>\n<p>Vamos utilizar 3 tipos de <strong>criptografia<\/strong>\u00a0sendo 2 delas de &#8220;m\u00e3o \u00fanica &#8221; ou &#8220;unidirecional&#8221; e uma delas com &#8220;m\u00e3o duplas&#8221;.<\/p>\n<p> A senha de &#8220;m\u00e3o \u00fanica&#8221; ou &#8220;unidirecional&#8221; voc\u00ea n\u00e3o poder\u00e1 reverter a senha como ela era.<br \/>\nA de &#8220;m\u00e3o dupla&#8221; voc\u00ea poder\u00e1 reverter a senha como ela era na sua origem.<\/p>\n<h2><strong>MD5<\/strong><\/h2>\n<p>O (Message-Digest algorithm 5) MD5 \u00e9 um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321. Este protocolo e muito utilizado para integridade de arquivos e logins.<br \/>\nFoi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de seguran\u00e7a.Por ser um algoritmo unidirecional, uma hash md5 n\u00e3o pode ser transformada novamente no texto que lhe deu origem. O m\u00e9todo de verifica\u00e7\u00e3o \u00e9, ent\u00e3o, feito pela compara\u00e7\u00e3o das duas hash (uma da mensagem original confi\u00e1vel e outra da mensagem recebida).<\/p>\n<p><strong>Para utilizar md5 PHP voc\u00ea pode usar da seguinte forma<\/strong><br \/>\n&lt;?php<br \/>\n$senha = &#8220;Minha senha&#8221;;<br \/>\n$crip = md5($senha);<br \/>\necho &#8220;A senha criptografada e a seguinte : &#8220;. $crip;<br \/>\n\/\/40201cba3a9392f214ff7c724693505d<br \/>\n?&gt;<\/p>\n<h2><strong>SHA1<\/strong><\/h2>\n<p>O SHA1 e da fam\u00edlia de SHA (Secure Hash Algorithm) est\u00e1 relacionada com as fun\u00e7\u00f5es criptogr\u00e1ficas. A fun\u00e7\u00e3o mais usada nesta fam\u00edlia, a SHA-1, \u00e9 usada numa grande variedade de aplica\u00e7\u00f5es e protocolos de seguran\u00e7a, incluindo TLS, SSL, PGP, SSH, S\/MIME e IPSec. SHA-1 foi considerado o sucessor do MD5. Ambos t\u00eam vulnerabilidades comprovadas1 . Em algumas correntes, \u00e9 sugerido que o SHA-256 ou superior seja usado para tecnologia cr\u00edtica. Os algoritmos SHA foram projetados pela National Security Agency (NSA) e publicados como um padr\u00e3o do governo Norte-Americano.<\/p>\n<p><strong>Para utilizar SHA1 PHP voc\u00ea pode usar da seguinte forma:<\/strong><br \/>\n&lt;?php<br \/>\n$senha = &#8220;Minha senha&#8221;;<br \/>\n$crip = sha1($senha);<br \/>\necho &#8220;A senha criptografada e a seguinte : &#8220;. $crip;<br \/>\n\/\/aef154f729347b5894f64477dd62ddc2d72d1e28<br \/>\n?&gt;<\/p>\n<h2>Base64<\/h2>\n<p>Base64 \u00e9 um m\u00e9todo para codifica\u00e7\u00e3o de dados para transfer\u00eancia na Internet (codifica\u00e7\u00e3o MIME para transfer\u00eancia de conte\u00fado) . \u00c9 utilizado freq\u00fcentemente para transmitir dados bin\u00e1rios por meios de transmiss\u00e3o que lidam apenas com texto, como por exemplo para enviar arquivos anexos por e-mail.<\/p>\n<p>\u00c9 constitu\u00eddo por 64 caracteres ([A-Za-z0-9], &#8220;\/&#8221; e &#8220;+&#8221;) que deram origem ao seu nome. O car\u00e1cter &#8220;=&#8221; \u00e9 utilizado como um sufixo especial e a especifica\u00e7\u00e3o original (RFC 989) definiu que o s\u00edmbolo &#8220;*&#8221; pode ser utilizado para delimitar dados convertidos, mas n\u00e3o criptografados, dentro de um stream.<\/p>\n<p><strong>Para utilizar SHA1 PHP voc\u00ea pode usar da seguinte forma<\/strong><br \/>\n&lt;?php<br \/>\n$senha = &#8220;Minha senha&#8221;;<br \/>\n$codificado = base64_encode($senha);<br \/>\necho &#8220;Resultado da codificacao usando base64: &#8220;. $codificado.'&lt;br&gt;&#8217;;<\/p>\n<p>$original = base64_decode($codificado);<br \/>\necho &#8220;Resultado da codificacao usando base64: &#8221; . $original;<br \/>\n?&gt;<\/p>\n<p><span style=\"line-height: 1.714285714; font-size: 1rem;\">Viram? \u00c9 muito simples deixar a senha do seu usu\u00e1rio segura basta apenas usar algumas fun\u00e7\u00f5es de PHP.<br \/>\n<\/span><br \/>\nMuito obrigado e espero ter ajudado! At\u00e9 a pr\u00f3xima!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal meu nome \u00e9 Tiago Agenor e hoje vamos aprender um pouco mais sobre criptografia php. Vamos utilizar 3 tipos de criptografia\u00a0sendo 2 delas de &#8220;m\u00e3o \u00fanica &#8221; ou &#8220;unidirecional&#8221; e uma delas com &#8220;m\u00e3o duplas&#8221;. A senha de &#8220;m\u00e3o \u00fanica&#8221; ou &#8220;unidirecional&#8221; voc\u00ea n\u00e3o poder\u00e1 reverter a senha como ela era. A de [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":432,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[81,7],"tags":[91,87,89,88,92,90],"class_list":["post-395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-dicas-do-programador","tag-base64","tag-criptografia","tag-md5","tag-php-2","tag-seguranca","tag-sha1"],"_links":{"self":[{"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=395"}],"version-history":[{"count":0,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/432"}],"wp:attachment":[{"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brasilnaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}