Bem vindo de volta.
Vamos continuar construindo nossa ferramenta incrível, temos nossa verificação de API de lagoa que apenas converte nossa senha para
SHA um.
Mas precisamos enviar isso para a API.
A API de senha, então o que podemos fazer aqui?
A primeira coisa que queremos fazer é lembrar, precisamos apenas dos primeiros cinco caracteres de nossa senha ou da senha
em hash para que possamos fazer algo divertido aqui.
Podemos dizer os primeiros cinco caracteres.
E também temos o que chamamos de cauda, então vamos armazenar os primeiros cinco caracteres
na primeira variável e na segunda variável, vamos armazenar o restante porque vamos precisar de ambos mais
tarde .
Então aqui.
Podemos apenas usar a pequena coisa bacana que, bem, Python nos permite, que é essa pequena
sintaxe agradável para pegar o início até o quinto caractere.
E então para a segunda parte.
Os caracteres restantes, começando do quinto índice até o final.
Legal e fácil.
E isso é algo que aprendemos antes.
Portanto, agora temos os primeiros cinco personagens e o conto.
E aqui agora podemos adicionar isso aos nossos dados de API de solicitação para que eu possa chamar meus dados de API de solicitação.
E aqui, dê bem, os primeiros cinco personagens.
E vamos apenas falar a resposta aqui.
Igual a.
Agora, vamos ver que tipo de resposta obtemos, então na verdade vou retornar uma resposta aqui e apenas para ter
certeza de que estamos fazendo tudo certo, vamos imprimir os primeiros cinco caracteres e a cauda também para ter
certeza que tudo está funcionando se eu executar isso.
Certo, parece que estou pegando os primeiros cinco caracteres, há um espaço aqui e depois o
restante e não chegamos a nenhum ar, parece que a resposta está funcionando.
Então, vamos também imprimir a resposta.
E certifique-se de que isso está funcionando bem.
Parece que recebemos uma resposta de duzentos, mas ainda não temos certeza do tipo de dados que
recebemos.
O que podemos fazer aqui?
Bem, eu quero aprender mais sobre esses dados que retornamos.
Então, vamos criar outra função aqui.
E, por enquanto, vamos chamá-lo de resposta de leitura.
E vamos apenas dar a resposta que obtemos e aqui, vamos apenas tentar ler
esta resposta, podemos realmente imprimir texto de ponto de resposta aqui.
Como é uma resposta da API, idealmente podemos apenas ler o texto, vamos ver se isso faz alguma coisa.
Portanto, esta resposta de retorno, acabamos de ler.
Resposta assim.
Se eu executar isso.
Ei, olhe para isso, esta é a nossa resposta, como você pode ver, é uma tonelada de senhas com hash.
Há muitos deles.
Parece um par de centenas.
Portanto, isso é o que obtemos de nossa resposta usando texto de ponto de resposta.
Obtemos todos os hashes que correspondem ao início de nossa senha com hash.
Muito legal.
O que podemos realmente fazer.
Você vê aqui como conseguimos vinte e quatro, três, um.
E assim por diante, isso mostra quantas vezes essas senhas foram hackeadas.
Isso é bem legal.
Então, idealmente, somos capazes de pegar a contagem, ver se alguma coisa combina com nossa cauda, porque
agora podemos apenas verificar a cauda e também imprimir a contagem.
Então, em vez de ter uma função de resposta vermelha, vamos obter.
Senha.
Vazamentos.
Função de contagem que recebe os hashes ou a resposta e o hash real.
Para verificar, qual é o nosso próprio hash de senha que precisamos verificar, então vamos verificar este hash para
verificar e percorrer todos os hashes.
Portanto, podemos fazer algo de novo, bacana com Python aqui, podemos dizer que hashes é igual.
E podemos usar uma tupla aqui e podemos realmente fazer uma compreensão, que vimos
antes, posso dizer linha que divisão.
Vamos dividir tudo na linha, que é por essas colunas aqui que você pode ver, essa é a cauda
do hash e o número de vezes que ele foi hackeado.
Então, vamos dividir pelo Colin.
E então vamos fazer um loop e dizer por linha, então é daí que vem a linha para linha no texto de
ponto de hashes.
Agora, se eu deixar assim, isso realmente não funcionará, e vou mostrar o porquê em um segundo, na verdade.
Vamos apenas fazer isso agora.
Então, vamos ver o que os hashes de impressão nos darão.
Em vez de resposta vermelha, vamos executar este agora.
Portanto, pegue a senha vazamentos da conta e, se eu executar, vamos limpar isso.
Eu entro lá, bem, eu entro lá porque temos que adicionar o hash para verificar também.
Então, qual deve ser a verificação da hashtag?
Bem, é a história, certo?
A história de nossa senha real.
Então, vou adicionar o conto ao segundo parâmetro.
Salve e execute novamente.
Tudo bem, recebo uma resposta de duzentos e recebo um objeto gerador, este objeto gerador, podemos realmente fazer um
loop através da taxa.
Então, vamos ver o que acontece se eu fizer isso.
Lembre-se, temos o hash e a contagem.
Então, vamos fazer hash H para hash e contar e hashes, porque lembre-se de que convertemos em uma tupla que tem o hash
e depois a contagem.
Porque estamos nos separando, lembra?
Então, se fizermos isso.
Vamos apenas imprimir a idade e contar.
Se eu executar isso.
Hmm, recebo um erro de valor de ar, valores insuficientes para descompactar. Esperava obter o quê?
Hmmm, por que vamos apenas imprimir H e ver o que acontece.
E remova a contagem por enquanto.
Vamos limpar isso e executar novamente.
Hmmm, parece que não dividimos corretamente, cada item é sua própria lista.
Então, na verdade, temos que usar algo chamado linhas de divisão aqui em nossa string e como você pode ver.
Ele retorna uma lista das linhas da string.
E ele quebra nos limites da linha, então quando realmente fazemos um loop for sobre o texto hash, se rolarmos para cima, vamos
ver se podemos vê-lo.
Não, não está mais lá.
Mas se rolarmos para cima, teremos uma lista enorme de texto idealmente em cada linha.
Dividimos isso para que esta linha esteja correta, em vez de cada elemento individual, o hash e a contagem reais.
Então, só precisamos fazer linhas de divisão de pontos como esta.
Se eu salvar isso e executar mais uma vez.
Isso é muito melhor.
Agora que temos o que queremos, podemos mais uma vez voltar ao que tínhamos antes, que é contar, e
se imprimirmos H e contar, vamos salvar e executar novamente.
E isso é muito melhor.
Temos cada item separado.
Vamos fazer uma pausa e continuar no próximo vídeo.