0

SMSメッセージにクレデンシャル情報(パスワードなど)がある場合は、それをデータベースに永続化する前にマスクしたいSMSゲートウェイを構築しています。

コードは次のとおりです。

String message = "Your password is [MASK:1234]!";

boolean bMasked = message.matches("(\\[MASK:)*(\\])");
String plainText = message.replaceAll(..., "");
String withStars = message.replaceAll("...", "*");

System.out.println("bMasked: " + bMasked);
System.out.println("plainText: " + plainText);
System.out.println("withStars:  " + withStar);

正規表現に関する私の知識は乏しいので、可能であれば次の出力を取得するためにあなたの助けが必要です。

bMasked: true
plainText: Your password is 1234!
withStars: Your password is ****!
4

1 に答える 1

1
String message = "Your password is [MASK:1234]!";

boolean bMasked = message.matches(".*\\[MASK:[^\\]]*\\].*");
String plainText = message.replaceAll("\\[MASK:([^\\]]*)\\]", "$1");
String withStars = message.replaceAll("\\[MASK:[^\\]]*\\]", "******");

System.out.println("bMasked: " + bMasked);
System.out.println("plainText: " + plainText);
System.out.println("withStars:  " + withStars);

あなたにあげる:

bMasked: true
plainText: Your password is 1234!
withStars:  Your password is ******!
于 2013-02-17T10:30:06.910 に答える