15年くらい前に同じようなことを実装したことがありますが、当時でも自己満足の域を出ませんでした。
現在は他の認証方式やパスワード管理ツールが発達していて、優位性が無いどころかデメリットの方が大きい状態です。
既に指摘されているところもありますが、
ユーザー目線だと「パスワードに相当するファイルを平文でローカルに持っておかないといけない」と言うのが大きなリスクです。
これは例えば、文字列認証ではpassword.txtというファイルを持っておかないといけない(=暗記したりパスワード管理ツールを使ったりして保護出来ない)と言うのと同じことなので、PCを紛失したり盗難される事を想定した場合には無視出来ないリスクとなります。
セキュリティインシデントの多くが端末の紛失やショルダーハック、標的型攻撃といったの操作者や物理端末へのアクセスによって発生しているため、このリスクに対応出来ないのは大きな欠点です。
じゃあ画像ファイルを暗号化しておけば良いのでは?と言われればその通りではあるのですが、端的に言って不便ですよね。
また、強度の話で言うと、sshでのサーバーへのログインなどの強固なセキュリティが要求される認証秘密鍵と公開鍵を使った認証方式がデファクトスタンダードとして存在しています。
こちらは秘密鍵ファイルにパスフレーズを設定することが可能ですし、ファイルそのものを送らずに安全でなりすましが不可能な認証が可能です。
この辺は公開鍵認証
で調べてみてください。
公開鍵認証は秘密鍵の生成などの技術的な難易度が高いため、非技術者の一般ユーザー向けの認証に使われることはあまりありませんが
その他のセキュアな認証方法としては
- クライアント証明書を使った認証(こちらは端末の盗難や紛失には弱い運用も多い)
- パスワードに加えてSMSやメールにワンタイムパスワードを送信する多要素認証(MFA)
などがあり、広く運用されています。
あとはサーバー側負荷としては、認証の度に大きなサイズの画像ファイル(スマホだと写真とかが多いことでしょう)が送られてくるのは結構辛い事になリますね。