Bem vindo de volta.
Acabamos de aprender sobre a API de senha e como essa API não nos permite confiar em ninguém.
Ou seja, nós apenas confiamos em nós mesmos e iremos fornecer apenas os bits de informação que
consideramos confortáveis à API para que ela nos dê uma resposta com alguns dados que podemos então calcular em nossas
próprias máquinas que são hipoteticamente mais seguras .
Então, o que fizemos aqui é que em vez de fornecer o hash inteiro de nossa senha, apenas fornecemos um pouco
dela.
Os primeiros cinco caracteres agora têm cerca de seiscentos milhões de senhas em seu banco de dados.
E o site agora talvez saiba apenas que fazemos parte de várias centenas de pessoas que têm um hash
inicial semelhante, mas nunca saberão nossa senha.
Mas, com esses dados de resposta, agora podemos verificar nosso hash completo para ver se a senha já foi
aberta ou hackeada.
Portanto, vamos começar a escrever nosso programa, porque idealmente nesta resposta, agora tenho talvez várias centenas
de listas desses hashes que posso verificar.
Vamos pensar no que queremos fazer.
Então, idealmente, temos, digamos, uma função e essa função será a solicitação.
API.
Dados, que é o que fizemos aqui, então vamos movê-los aqui quando estivermos prontos e aqui vamos dar
a eles os personagens de Quarrie.
Então vamos dar a ele essa versão hash de nossa senha.
Portanto, esta será uma função que, por enquanto, apenas passaremos.
Mas isso vai solicitar nossos dados e nos dar uma resposta.
Em seguida, com esta resposta, queremos realmente verificar para que possamos dizer que queremos verificar a verificação de API do
pond e aqui daremos nossa senha.
Essa é a nossa senha real, no nosso caso será a senha um, dois, três.
E aqui, queremos fazer algum tipo de verificação, queremos dizer verificar.
Senha se existir na API.
Resposta.
Daqui de cima.
Então, por enquanto, vamos apenas passar isso.
Então, vamos trabalhar no primeiro que é solicitar dados da API.
Já fizemos algumas dessas coisas aqui.
Direito?
Na verdade, vou mover este código.
Aqui em cima.
Certifique-se de que temos o preenchimento aqui, em vez dessa força. Na verdade, darei o caractere de consulta com o
qual chamaremos a função para que seja dinâmico.
E, novamente, solicitaremos que seu URL tenha a resposta e aqui faremos uma verificação,
diremos se o status do ponto da resposta, lembre-se, podemos verificar nossa resposta se o status for duzentos ou, neste caso, ,
digamos, se o status não for igual a duzentos.
Nesse caso, vamos apenas levantar um erro.
Então, eu direi aumento, faremos um erro de tempo de execução e diremos, bem, vamos usar uma string F e diremos.
Erro.
Buscando, e então daremos o status quo.
Então essa é a resposta, esse status.
E, na verdade, este é o código de status, então vamos apenas fazer o código de status aqui e então dizer apenas verificar.
A API e tente novamente.
Tudo bem, então este deve ser o nosso ar se cometermos um erro.
Vamos apenas testar isso.
Vou apenas fazer uma API que não existe.
Então, acabei de escrever alguns rabiscos aqui.
Se eu salvar e executar isso.
Bem, eu tenho que realmente executar este pedaço de código, então vamos apenas solicitar os dados da API e o caractere de
consulta será.
Um dois três.
E você sabe o quê, isso vai ao ar sobre se eu faço isso ou não.
Então, vamos fazer isso porque não é a versão dura.
E, na verdade, recebo um erro de Python do tipo erro só pode concatenar string, não Ent. , então podemos apenas converter isso
em uma força porque lembre-se, estamos adicionando aqui.
Novamente, se estivéssemos nisso.
Tudo bem, veja só, levantamos um erro de execução.
Temos um runtime er er que busca quatrocentos, verifique a API e tente novamente.
Tudo bem, então essa parte está funcionando.
Mas, neste caso, se não tivermos esse ar, vamos apenas dizer que retornaremos a resposta novamente, estamos apenas escrevendo funções pequenas e
simples, neste caso, queremos apenas solicitar dados da API, então agora podemos usar em todo
o nosso código.
Incrível.
Agora, a próxima parte é um pouco complicada porque temos que executar nossa senha por meio do algoritmo SHA one.
Felizmente, Python tem um módulo embutido para fazermos isso, então podemos realmente importar hash lip.
Como você pode ver, é um módulo integrado, então você pode ler mais sobre ele se quiser.
No nosso caso, podemos fazer um show sobre harshing como fizemos em nosso site com esta biblioteca.
Aqui, o que vamos fazer é, em primeiro lugar, quero ser capaz de hash minha senha, então vamos remover
o passado aqui e dizer sha uma senha e podemos usar o hash live como este hash lib dot sha um, que é o
algoritmo de hash que queremos usar.
E isso vai ser um pouco complicado, mas você pode apenas ler a documentação.
Vou apenas mostrar como fazer.
No nosso caso podemos fazer senha e queremos codificar em UTF oito.
O que é bastante normal, na verdade, quer saber, deixe-me mostrar o que isso faz.
Então, direi imprimir e apenas digitarei a senha e o código UTF oito.
Então, vamos fazer isso por enquanto.
Por enquanto.
Eu vou comentar isso.
Vou chamar LB API check e faremos um, dois, três.
Vamos esclarecer este ponto para salvar e executar este trecho de código.
Tudo bem, está codificado, veja esta abelhinha aqui em UTF oito, vou mostrar o que acontece
quando removermos a codificação depois disso.
Em seguida, quando usamos o hash Leyb Sean.
Então, deixe-me copiar isso.
Se eu apenas executar isso.
Recebo um objeto hash sha one.
Agora, depois disso, podemos chamar Dot Hecks Digest assim e se eu executar isso.
Hmmm, bem, como podemos verificar isso?
Bem, podemos ir dormir e simplesmente pesquisar o Hecks Digest.
Então, aqui, a qualquer momento, você pode pedir o resumo da concatenação dos dados, resumo blá, blá,
blá, hexadecimal, então isso realmente não explica nada para nós.
Vamos apenas para a próxima parte e a próxima parte e eles vão para o Hecks Digest.
Ele retorna um objeto string de double leth contendo apenas dígitos hexadecimais.
Isso é apenas algo que precisamos fazer para converter este objeto nesta string hexadecimal.
A próxima parte para concordar com a API é converter tudo isso para maiúsculas.
Então, se eu fizer aqui.
E eu salvo e executo novamente, tudo está em maiúsculas, como vimos quando olhamos para um.
Então, isso é apenas algo que, novamente, você realmente não precisa saber.
Você só precisa pesquisar no Google e ver como realmente usar isso.
Agora, deixe-me mostrar o que acontece quando não usamos UTF 8 e código.
Então, se eu apenas fizer assim e executar isso.
Você vê que eu consigo um ar.
Os objetos Unicode devem ser codificados antes do hash, então isso realmente dá a você um bom erro e se
pudermos apenas codificar usando UTF oito assim.
Portanto, este é apenas o padrão.
Novamente, nada muito louco.
Você pode ler sobre codificação e se quiser por conta própria.
A chave aqui é que, ao final, temos um Charr, uma senha que podemos enviar.
Então, deixe-me copiar tudo isso.
Indo remover a impressão.
E aqui, teremos nossa senha Sean, incrível.
Por enquanto, vamos devolver este Shahd.
Senha.
E se eu executar isso.
Bem, parece que nosso código está funcionando, não estamos imprimindo nada, mas com sorte.
Estamos fazendo esse show agora no próximo vídeo, na verdade, quero tentar enviar isso para a nossa API
e ver que tipo de resposta obteremos.
Vamos fazer isso.
Dar um tempo.
Te vejo no próximo.