これを行う方法が1つあります。最初の文字を取得するには関数left()
を使用し、最後の文字を取得するには関数right()
を使用してください。他の文字をすべて.
などに置き換えることはお勧めしません。あなたはパスワードの実際の文字数を開示します。代わりに、私はちょうど最初と最後の文字の間に3つの.
または*
を入れるでしょう。
これはあなたのために行うコードです。その間に他の文字を置き換える方法の例も含めましたが、それを行うことはお勧めしません。
<cfscript>
password = 'Password123';
password_firstchar = left(password,1);
password_lastchar = right(password,1);
writeOutput(password_firstchar & '***' & password_lastchar);
writeOutput('<p> </p>');
writeOutput(password_firstchar);
writeOutput(repeatString('.',len(password)-2));
writeOutput(password_lastchar);
</cfscript>
そのコードを実行しているからの出力は次のとおりです。あなたはそれを実行し、それで遊ぶことができますので
P***3
P.........3
そしてここでは、そのコードの骨子である - TryCF gist example
注:は、ColdFusion 9を示しましたあなたのプラットフォームとして。このバージョンでは、cfscript
の構文サポートが制限されていました。私はあなたに与えたことはまだそのバージョンで動作すると思うが、私に知らせてくれないならば。代わりにタグ構文を使用できます。
Here is an example that includes the tag syntax as well。
これは、あなたの質問を解決していませんが、それはあなたが平文でパスワードを保存している質問から明らかです。これは常に悪い考えです。パスワードは、データベースを参照している誰もあなたのすべてのパスワードのリストを取得できないように、塩漬けされたハッシュとして保存する必要があります。それについてもっと読む:http://www.learncfinaweek.com/week1/Secure_Password_Storage/ – beloitdavisja
優秀なポイント@beloitdavisja。実際には、ユーザーに何らかのパスワードを送り返すべきではありません。また、パスワードをハッシュとして保存することができなくなります。代わりに、パスワードをリセットするか、初回のログイン時にリセットする必要がある一時パスワードを送信する権限を与えます。 –
私はこれを十分に言及することはできないと考えているので、パスワードを復旧することはできません。パスワードを忘れた場合は、パスワードをリセットする必要があります。 – Shawn