Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語でパスワードの文字を*(アスタリスク)に置き換えて表示する方法

この問題では、パスワードの文字列が与えられ、その各文字の代わりに *(アスタリスク)を表示することが求められます。これは、実際のログイン画面などでパスワード入力時に文字が見えないようにマスク処理する動作と同じ仕組みです。

問題の例

入力:password
出力:
********

解決のアプローチ

この問題を解くには、以下の手順に従います。

  • まず、入力されたパスワードの長さを取得します。
  • 次に、パスワードの文字数だけループ処理を行い、各文字の代わりに * を1つずつ出力します。

つまり、パスワード自体の内容をそのまま表示するのではなく、文字数と同じ数のアスタリスクを出力することで、元の文字列を隠しながら長さの情報だけを伝えることができます。

実装例

以下のプログラムは、この解決策を実装したものです。

#include <stdio.h>
#include <string.h>
int main() {
    char password[50] = "password";
    int length = strlen(password);
    printf("Password : ");
    for(int i = 0; i<length; i++){
        printf("*");
    }
    return 0;
}

実行結果

Password : ********

コードの解説

このプログラムの流れは以下の通りです。

  1. 文字列の宣言: 文字配列 password に「password」という文字列を格納します。
  2. 長さの取得: strlen() 関数を使って、パスワードの文字数(この場合は8文字)を取得し、変数 length に代入します。
  3. ループ処理: for ループを使って、文字数分だけ繰り返し処理を行い、毎回 * を1つ出力します。

このように、strlen() で文字数を取得してループでアスタリスクを出力するだけで、簡単にパスワードのマスク表示を実現できます。実際のアプリケーションでは、ユーザーからのキー入力を受け取るたびに * を表示する形で応用されます。

  1. Windows 10のパスワードを忘れたときに!おすすめパスワード回復・リセットツール7選

    パスワードを忘れてしまうのは、決して珍しいことではありません。誰にでも起こりうるトラブルです。PCを起動して、これで合っているはずだと入力してもアカウントのロックが解除されず、いろいろな組み合わせを試しても結局何も通用しない——そんな経験はありませんか? 実は、Microsoftは純正のパスワード回復ツールを提供していません。そのため、忘れてしまったWindows 10のパスワードを取り戻すには、サードパーティ製のパスワードリセットツールを利用する必要があります。 近年のテクノロジーは「パスワード」そのものを廃止し、より安全な認証手段への移行を進めています。大文字・小文字の英字、数字、記号を組

  2. パスワード管理に使えるおすすめChrome拡張機能6選

    デジタル化は私たちの生活に驚くほど浸透しており、以前はスマートフォンやPCを敬遠していた人々も、今ではオンラインで食料品を注文したり、医師の診察を受けたりするようになりました。かつては鍵のかかった棚に大切に保管されていた個人情報、医療記録、動画や画像などの思い出のほとんどが、デジタル化によって「ユーザー名とパスワード」で守られる時代になりました。そのため、すべてのパスワードを覚えていられなくても決して珍しいことではありません。とはいえ、紙や手帳に書き留めるのは得策ではありません。万が一これらの記録を他人に見られてしまえば、なりすまし(個人情報の盗難)につながる恐れがあります。複数の認証情報を管