見出し画像

【FlutterFlow】ハッシュ関数SHA-1って何だ!?Google認証に必要な予備知識を徹底解説

※追記:この「Google認証」シリーズは、最終的に完了しませんでした。申し訳ないですが、ご了承の上、読み進めてください。

はい、こんにちは~。FlutterFlowの使い方を覚えようと日々研鑽しております。

前回までは、メール認証に取り組んできました。一応、基本的な使い方(サンアップ→認証リンク→ログアウト→パスワードリセット)を実装できました。これでもっとも基本的な認証方法はクリアです。

サインアップ画面

今回は、Google認証に取り組みます。うん、難しそうだ!分かってますよ~。でも、

  1. とりあえずやってみる

  2. うまくいかないなら、課題を分割して取り組む

  3. でも、うまくいかないなら、いったん保留する

という方針です。きっと困難がありそうですが、チャレンジします!こちらの公式ドキュメントを参考にします。

ということで、Google認証行ってみよ~。

事前準備!SHA-1キーの生成

では、公式ドキュメントに沿って、進めます。まず最初に、「SHA-1キー」を生成する必要があります。

何それ?最初から壁にぶち当たりました…。キーは何かはさておき、SHA-1の解説からいきましょうか…。

ハッシュ関数SHA-1とは!?

※専門家ではないので、次の解説は「2割引き」くらいの感覚で読んてくださいね。詳しくは専門書等でご確認ください。

SHA-1は、任意の大きさのデータを入力して、固定長のハッシュ値(160ビット)を出力するハッシュ関数です。大きいデータでも、固有のハッシュ値を、たった!160ビットで返してくれます。だから、ハッシュ値は、「メッセージダイジェスト」なんて呼ばれたりします。

むずい…

出力値から入力値を計算するのがとても難しい性質を利用して、パスワードを保存したり、ディジタル署名に使います。

ところが、別の入力値に対して、出力値が同じになる(衝突)ことがないことになっているのですが、SHA-1については、Googleが!衝突を発見しました)。これによって、SHA-1は、段階的に廃止されていく方向で、現在はSHA-2やSHA-3などを使うことが多くなっています。

Googleが衝突を発見したSHA-1を、Google認証で使うんですね…。急に置き換えられないこともありましょう…。

まずは、SHA-1とは何か、なんとなく分かったことにしましょう。


はい、本日はここまで。あまりに難しいので、これくらいにしないと私の頭がパンクします。

次回は、どうしてSHA-1キーが必要か、見ていくことにしましょう!






この記事が気に入ったらサポートをしてみませんか?