それでは､ 安全なパスワードチェッカーを構築するための最初のステップに入りましょう｡
さて､ この中に小切手とパスポートのファイルがあります｡
をすることができます｡
そして､ ここに私の端末があります｡
私たちがやりたいことは､ 最初にrequestsモジュールをインポートすることです｡
もし､ そうでなければ､ リクエストモジュールをインストールしてください｡
リクエストモジュールでは､ リクエストをすることができるようになります｡
つまり､ 実際のブラウザがないのにブラウザがあるようなものだと覚えておいてください｡
あたかもブラウザがあるかのように､ 手動で何かをリクエストすれば､ 何らかのデータが返ってくるのです｡
リクエストモジュールとパスワードAPIを組み合わせて使うには､ パスワードAPIのURLを指定します｡
httpsです｡
コーリン・スラッシュ・スラッシュAPIの投稿パスワード｡
ドットコム
そして､ レンジスラッシュを施します｡
そして､ この中にあるのが､ パスワードを入力するところです｡
だから､ プラスをすればいいんです｡
と､ とりあえずやってみましょう｡
パスワード
1､ 2､ 3
というわけで､ このURLです｡
そんな感じで､ ちょっと小さくしてみましょう｡
さて､ この中で､ リクエストをすることでレスポンスを得ることになります｡
ドットゲット
そして､ これを入力して見てみましょう｡
このプログラムを保存して実行し､ 思い出したら､ まだパスワードを入力する機能はないので､ ファイルを実行してみましょう｡
よし､ 何か出てきたぞ！でも､ エラーのようだ｡
それも､ httpsにしたからです｡
バカだなぁ｡
しかし､ 改めてそれを示したい｡
ええ､ ここです｡
エラーを読むと､ どうやらスキーマが無効なようです｡
Well httpsの接続アダプタがない｡
だから､ それをもう一度実行すれば｡
わかりました｡
うまくいったようです｡
エラーはありません｡
しかし､ なぜこれほどまでにプリント反応が出るのか､ これをプリントしてみましょう｡
そして､ これを実行する｡
そして､ レスポンス400を獲得しました｡
うーん｡
今､ レスポンスや400はまずい｡
通常､ それは未承認か､ APIに何か問題があることを意味します｡
さて､ このレスポンスコードについてですが､ これはWeb制作のセクションで説明します｡
ただ､ 400ではまずいということです｡
200の手応えを求めます｡
200というのは｡
なるほど｡
そして､ なぜこのようなことが起こるかというと､ これはAPIが実際にどのように動作しているのかわからないからです｡
ここでは､ パスワードを設定したところです｡
しかし､ このAPIの仕組みは､ ハッシュと呼ばれるものを使っています｡
さて､ どういうことでしょうか｡
この後､ ボーナスレッスンを入れて､ ハッシュ化についてもう少し勉強できるようにしようと思っています｡
でも､ ここにリンクするこのサイトがありますから､ これをもう少し大きくしてみましょう｡
SHA1ハッシュジェネレータであることがわかるといいのですが｡
今度はパスワードのハッシュ化｡
必ずやっておくべきことです｡
例えば､ ユーザーのパスワードを保存しているとします｡
データベースへ
ユーザーのパスワードは､ いわゆる平文で保存してはいけません｡
それこそ､ パスワードのようなものです｡
その代わり､ ハッシュ化ということをしたいのです｡
つまり､ ハッシュ化アルゴリズムに通して､ ちんぷんかんぷんにしてしまうのです｡
ここでパスワード2､ 1､ 2､ 3を入力し､ 生成をクリックすると､ 下にスクロールします｡
ハッシュ化されたパスワードです｡
ここで､ このパスワードを変更すると､ このパスワードも変更されることに注意してください｡
しかし､ ここで重要なのは､ これはボーナスビデオでお話しすることですが､ ハッシュは一方通行の関数であるということです｡
ハッシュアルゴリズムには､ empty five､ SHA 2､ 5､ 6などがありますが､
ここではこのAPIが使っているSHA 1を使っています｡ SHA 1は基本的にハッシュするだけです｡
このパスワードのちんぷんかんぷんな出力をする関数がアルゴリズムなんです｡
1､ 2､ 3
しかし､ パスワード1〜3を何度生成しても､ 同じハッシュになってしまうのです｡
この方法では､ 誰かがパスワードを入力したときに､ すでにハッシュ化されたパスワードとデータベースがあれば､
そのハッシュ化されたパスワードとデータベースを比較することができるのです｡
ハッシュ化されたパスワード｡
ここでも､ あまり混乱しないようにしましょう｡
ボーナスビデオでは､ この点をもう少し詳しく説明したいと思います｡
しかし､ 重要なのは､ このAPIは､ できるだけ安全でありたいので､ まあ､ 本当のパスワードは電信で送りたくないということです｡
代わりに､ このハッシュ化されたパスワードを送りたいのです｡
これをコピーしてここに置くと､ APIに送るべき内容はこうなります｡
しかし､ ここで問題が発生します｡
というのも､ 誰でも今すぐアクセスして入力し､ 推測し続け､ 推測し続け､ 最終的にパスワード1から3までヒットして､
ああ､ このハッシュはこのハッシュとまったく同じものだ､ とわかるからです｡
だから､ これが私たちのパスワードだとわかってしまうのです｡
このAPIはK匿名性という技術を使っていて､ 実はこれはGoogle､ Facebook､ Netflix､ Amazonなどの大企業が使っている最新の技術なんです｡
Kの匿名性は､ 誰かが私たちの情報を受け取ったとしても､ 私たちが誰であるか分からないようにするものです｡
その仕組みは？
ちなみに､ これは実際によく使われる手法で､ 特に今､ 個人情報を企業に利用することは嫌われています｡
だから､ 理想を言えば､ 企業に個人情報を渡したくないんです｡
そのため､ セキュリティやプライバシーに配慮する企業の中には､ この匿名性を利用して､ あなたを追跡しながらも､ あなたが誰であるかわからないようにするところもあります｡
さて､ この仕組み｡
ハッシュパスワードの最初の5文字しか教えないということです｡
だから､ 1､ 2､ 3､ 4､ 5｡
これを削除すると､ このAPIは流出した全パスワードのリストを持つことになりますね｡
ただし､ これらのパスワードはすべてSHA oneアルゴリズムでハッシュ化されています｡
そこで､ すべてのパスワードのデータベースを検索し､ 最初の5文字がこれに一致するハッシュ化されたパスワードをすべて選び出すことになるのです｡
このように､ レスポンスで､ これを持つハッシュ化されたパスワードをすべて取得することで､ レスポンスを受け取ったときに､
残りのハッシュ関数をチェックすることができるのです｡
この方法では､ APIは私たちの完全なハッシュを知ることはなく､ したがって､ 私たちのパスワードを推測することもできません｡
この小さなハッシュ関数があれば､ 何百ものパスワードと照合できることが分かってしまうのです｡
なんてかっこいいんでしょう｡
で､ 実際にこれを保存して実行すると｡
200という回答が返ってくる｡
すごい｡
わかりました｡
一息ついて､ ハッシュについてもう少し勉強して､ 次のビデオでお会いしましょう｡
バイバイ｡