{"id":2773,"date":"2014-04-10T20:45:59","date_gmt":"2014-04-10T20:45:59","guid":{"rendered":"http:\/\/kasperskydaily.com\/brazil\/?p=2773"},"modified":"2022-11-07T07:34:58","modified_gmt":"2022-11-07T10:34:58","slug":"hash-o-que-sao-e-como-funcionam","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.br\/blog\/hash-o-que-sao-e-como-funcionam\/2773\/","title":{"rendered":"Hash: o que s\u00e3o e como funcionam"},"content":{"rendered":"<p>Uma fun\u00e7\u00e3o de hash criptogr\u00e1fico, muitas vezes \u00e9 conhecida simplesmente como hash \u2013 \u00e9 um algoritmo matem\u00e1tico que transforma qualquer bloco de dados em uma s\u00e9rie de caracteres de comprimento fixo. Independentemente do comprimento dos dados de entrada, o mesmo tipo de hash de sa\u00edda ser\u00e1 sempre um valor hash do mesmo comprimento.<\/p>\n<p>De acordo com o gerador online de hash, SHA-1 que foi encontrado na rede (SHA-1 \u00e9 uma das fun\u00e7\u00f5es de hash mais utilizadas em computa\u00e7\u00e3o, juntamente com MD5 e SHA-2), o hash para o meu nome, Brian, seria: 75c450c3f963befb912ee79f0b63e563652780f0. Acontece muito comigo das pessoas errarem meu nome e inv\u00e9s de Brian me chama de \u201cBrain\u201d que em ingl\u00eas significa \u201cc\u00e9rebro\u201d. De fato, em minha carteira de motorista oficial me chamo \u201cBrain Donohue\u201d, mas isso \u00e9 outra hist\u00f3ria. O hash SHA-1 para \u201cc\u00e9rebro\u201d, segundo o gerador online de SHA-1 \u00e9: 8b9248a4e0b64bbccf82e7723a3734279bf9bbc4.<\/p>\n<p>Como voc\u00ea pode ver, essas duas sa\u00eddas s\u00e3o bastante diferentes, apesar do fato de que a diferen\u00e7a entre o nome de Brian e Brain s\u00e3o apenas a ordem das vogais. Vamos fazer outra prova: se escrevo meu nome sem a mai\u00fascula, o gerador SHA-1 novamente me d\u00e1 outro resultado diferente ou seja: r760e7dab2836853c63805033e514668301fa9c47.<\/p>\n<p>Voc\u00ea notar\u00e1 que todos os hashs s\u00e3o de 40 caracteres e surpreende ter um resultado deste tipo para uma palavra de 5 letras como Brian, Brain. No entanto, o mais surpreendente, \u00e9 que se inserimos cada palavra deste artigo no gerador, vamos ter este hash: db8471259c92193d6072c51ce61dacfdda0ac3d7. Isso \u00e9 cerca de 1.637 caracteres (com espa\u00e7os inclu\u00eddos) condensados em uma produ\u00e7\u00e3o de 40 caracteres, o mesmo comprimento que tivemos com o meu nome de 5 letras. Voc\u00ea poderia fazer um hash SHA-1 das obras completas de William Shakespeare e ainda acabar com um resultado de 40 caracteres. Al\u00e9m disso, nunca vamos ter 2 hash iguais.<\/p>\n<p>Aqui est\u00e1 uma foto de cortesia da Wikimedia Commons, ilustrando o mesmo conceito para aqueles que preferem a aprendizagem visual:<\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2014\/04\/06143603\/HASH.png\"><img decoding=\"async\" class=\"size-full wp-image-2775 aligncenter\" alt=\"HASH\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/94\/2014\/04\/06143603\/HASH.png\" width=\"680\" height=\"455\"><\/a><\/p>\n<h2>Para qu\u00ea serve os hash?<\/h2>\n<p>Boa pergunta. Infelizmente, a resposta \u00e9 que os hash de criptografia s\u00e3o usados \u200b\u200bpara uma s\u00e9rie de coisas.<\/p>\n<p>Para mim e para voc\u00ea, a forma mais comum de hashing tem a ver com senhas. Por exemplo, se voc\u00ea esquece sua senha em algum servi\u00e7o online, voc\u00ea provavelmente vai ter que executar uma redefini\u00e7\u00e3o de senha. Quando voc\u00ea redefine sua senha, voc\u00ea geralmente n\u00e3o recebe sua senha de texto simples em troca. Isso porque o servi\u00e7o online n\u00e3o armazena sua senha em texto plano. Ele armazenam um valor de hash para a senha. Na verdade, esse servi\u00e7o (a menos que voc\u00ea esteja usando uma senha incrivelmente simples para que o valor de hash seja amplamente reconhecido) n\u00e3o tem nenhuma ideia da sua senha real.<\/p>\n<p>Para ser claro, se para restabelecer a senha voc\u00ea recebe a senha em texto simples, significa que o servi\u00e7o on-line n\u00e3o usa hash e isso \u00e9 lament\u00e1vel.<\/p>\n<p>Voc\u00ea pode testar por voc\u00ea mesmo com um gerador de hash online. Se voc\u00ea gera um valor de hash para uma senha fraca (como \u201c123456\u201d) e o digita em um gerador de hash inversa, \u00e9 poss\u00edvel que o gerador reconhe\u00e7a o valor de hash e revele a senha. No meu caso, o gerador de hash inversa reconheceu os hashes para \u201cc\u00e9rebro\u201d e \u201cBrian\u201d, mas n\u00e3o o hash que representa o corpo deste artigo. Assim que a integridade dos hash depende inteiramente dos dados de entrada, que podem ser qualquer coisa.<\/p>\n<p>Segundo um relat\u00f3rio da TechCrunch do final do m\u00eas passado, o servi\u00e7o de armazenamento em nuvem, o Dropbox, bloqueou um dos seus usu\u00e1rios porque ele compartilhava conte\u00fado protegido pela Digital Millennium Copyright Act (DMCA), a lei estadunidense sobre os direitos do autor. Este usu\u00e1rio logo twittou que ele tinha sido impedido de compartilhar determinado conte\u00fado. Em seguida as pessoas come\u00e7aram a comentar a not\u00edcia na rede social e muito gente ficou indignada dizendo que o Dropbox tinha acesso \u00e0s contas dos usu\u00e1rios, apesar de declarar o contr\u00e1rio na pol\u00edtica de privacidade.<\/p>\n<p>O Dropbox, \u00e9 claro, n\u00e3o acessou os contepudos do usu\u00e1rio. Como observou o artigo TechCrunch, o que provavelmente aconteceu aqui \u00e9 que o detentor do copyright tornou seu arquivo protegido (talvez a composi\u00e7\u00e3o digital de uma m\u00fasica ou filme) e passou isso atrav\u00e9s de uma fun\u00e7\u00e3o hash. Eles, ent\u00e3o, tomaram o valor de hash de sa\u00edda e acrescentou uma s\u00e9rie de quarenta caracteres para algum tipo de lista ilegal para os hashes de materiais protegidos por direitos autorais. Quando o usu\u00e1rio tentou compartilhar este material protegido por direitos autorais, os scanners automatizados do Dropbox detectaram o hash e bloquearam o compartilhamento.<\/p>\n<p>Assim, voc\u00ea pode criar hash para senhas e arquivos de m\u00eddia de forma clara, mas que outras fun\u00e7\u00f5es tem a hash criptogr\u00e1fica? Como j\u00e1 falamos, as fun\u00e7\u00f5es de hash servem para muitos prop\u00f3sitos mais at\u00e9 do que eu sei. No entanto, h\u00e1 mais um aplicativo de hashing que nos interessa: as empresas de produtos antiv\u00edrus como a Kaspersky Lab utilizam as fun\u00e7\u00f5es hash criptogr\u00e1ficas para detectar programas maliciosos.<\/p>\n<p>Mais ou menos da mesma forma que os est\u00fadios de cinema e gravadoras criam listas ilegais de hash para proteger os direitos autorais, existe um monte de n\u00fameros de listas ilegais com hash de malware \u00a0(a maioria das quais est\u00e3o dispon\u00edveis publicamente). Estas listas ilegais de hash de malwares \u2013 ou assinatura de malware \u2013 consistem nos valores de hash de malware ou nos valores de hash de componentes menores e reconhec\u00edveis de malware.\u00a0Por um lado, se um usu\u00e1rio encontra um arquivo suspeito, esse usu\u00e1rio pode digitar o seu valor de hash em um dos muitos registros publicamente dispon\u00edveis de hash de malware ou bancos de dados, que v\u00e3o informar ao usu\u00e1rio se o arquivo \u00e9 malicioso ou n\u00e3o. Por outro lado, um antiv\u00edrus pode reconhecer e bloquear malware fazendo uma compara\u00e7\u00e3o de arquivos de hashes para sua base de dados (e tamb\u00e9m p\u00fablicas).<\/p>\n<p>As fun\u00e7\u00f5es de hash criptogr\u00e1ficas tamb\u00e9m s\u00e3o usadas \u200b\u200bpara garantir uma coisa chamada integridade da mensagem. Em outras palavras, voc\u00ea pode garantir que alguma comunica\u00e7\u00e3o ou um arquivo n\u00e3o seja adulterado atrav\u00e9s de uma examina\u00e7\u00e3o dos has criados antes e depois da transmiss\u00e3o de dados. Se os dois hash s\u00e3o id\u00eanticos, ent\u00e3o a transmiss\u00e3o \u00e9 aut\u00eantica, significando que n\u00e3o houve adultera\u00e7\u00e3o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma fun\u00e7\u00e3o de hash criptogr\u00e1fico, muitas vezes \u00e9 conhecida simplesmente como hash \u2013 \u00e9 um algoritmo matem\u00e1tico que transforma qualquer bloco de dados em uma s\u00e9rie de caracteres de comprimento<\/p>\n","protected":false},"author":42,"featured_media":2774,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1260,12],"tags":[],"class_list":{"0":"post-2773","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"category-tips"},"hreflang":[{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/hash-o-que-sao-e-como-funcionam\/2773\/"}],"acf":[],"banners":"","maintag":[],"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/2773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2773"}],"version-history":[{"count":4,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/2773\/revisions"}],"predecessor-version":[{"id":20277,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/posts\/2773\/revisions\/20277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media\/2774"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}