3

*パスワード文字列を、または他の何かのような指定された記号に変換する方法。

現在、パスワードの変更ページに取り組んでいます。パスワードをページに表示したいのですが、誰かがパスワードを見落としないようにしたいので、パスワードの文字列を*同じ長さのように記号に変換したいと思います。のような例<input type="password" />

私の悪い英語でごめんなさい...

4

6 に答える 6

10
$output_password = str_repeat ('*', strlen ($input_password));
于 2012-05-17T21:16:13.453 に答える
1

パスワードの長さに等しいアスタリスクの文字列を作成する簡単な方法を探している場合:

$modified = str_repeat( "*", strlen( "secretpass" ) );

echo $modified; // **********
于 2012-05-17T21:17:19.843 に答える
1

HTML にパスワードを出力するのではなく、パスワードのアスタリスク ( *) 表現を作成します。これは、str_repeat 関数で簡単に実行できます。

<?php
$password = "MyPasswordThatIWantToMask";
$maskedPassword = str_repeat("*", strlen($password));
?>

$maskedPasswordこれで、パスワード フィールドの値として を出力するだけです。

ただし、もう 1 つの非常に興味深い点は、ユーザーのパスワードの長さをどのようにして知ることができるかということです。パスワードをプレーンテキストではなく、ハッシュ化することを心から願っています。

于 2012-05-17T21:17:34.803 に答える
0

次のようにします。

$passwordstring = "password";
$outputpassword = "";
while(strlen($outputpassword)<strlen($passwordstring))
{
    $outputpassword .= "*";
}

echo $outputpassword
于 2012-05-17T21:12:48.303 に答える
0

1 つの方法は、タイプ password の入力を使用するが、それを無効に設定することです。

<input type='password' disabled='disabled' value='somepassword' />

于 2012-05-17T21:12:55.337 に答える
0

ここには のユーザーを示す多くの回答がありますがstr_repeat()、それがあなたが望んでいることだとは思えません。結局のところ、どんな馬鹿でも文字列に文字を埋め込むことができます。あなたが正しく指摘したように、単純に使用できる場合は、そうすることにはほとんど意味がありません<input type="password" />(はい、ソースコードからパスワードを取得することはできますが、それでは、なぜ難読化されたフィールドにデータを入力する必要があるのでしょうか? または、静的な固定数の * 文字を入力するだけではありませんか?)。

次のようなものを探しているのではないかと思います。

<?php

  $thePassword = "thisIsMyPassword";

?>

<input type="text" id="input_user_types_in" value="<?php echo str_repeat('*', strlen($thePassword)); ?>" />
<input type="hidden" id="value_to_post_back" name="value_to_post_back" value="<?php echo $thePassword; ?>" />

<script type="text/javascript">

  var textInput = document.getElementById('input_user_types_in');
  var hiddenInput = document.getElementById('value_to_post_back');

  textInput.onfocus = function() {
    this.value = hiddenInput.value;
  };

  textInput.onblur = function() {
    var i;
    hiddenInput.value = this.value;
    this.value = '';
    for (i = 0; i < hiddenInput.value.length; i++) {
      this.value = this.value + '*';
    }
  };

</script>

それをいじってください;-)

于 2012-05-17T21:41:15.673 に答える