0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java】パスワード生成(Pasay)

Posted at

パスワードポリシー実施ライブラリであるPasayを利用する。
設定可能なルールセットを使用してパスワードを生成することができる。

MavenプロジェクトでPasayを利用するための設定

pom.xml
<dependency>
    <groupId>org.passay</groupId>
    <artifactId>passay</artifactId>
    <version>1.6.0</version>
</dependency>

大文字小文字英数字混合の8桁のパスワードを生成するコード

Password.java
public class Password {

    public static String generate() {
        List<CharacterRule> rules = Arrays.asList(
                  new CharacterRule(EnglishCharacterData.UpperCase, 1),
                  new CharacterRule(EnglishCharacterData.LowerCase, 1),
                  new CharacterRule(EnglishCharacterData.Digit, 1)
            );
        PasswordGenerator generator = new PasswordGenerator();
        String password = generator.generatePassword(8, rules);
        return password;
    }
}

テストコード

PasswordTest.java

public class PasswordTest {

    @Test
    public void testGenerate() {
        String password = Password.generate();
        assertTrue(password.length() == 8);
        assertTrue(password.matches(".*[a-z].*"));
        assertTrue(password.matches(".*[0-9].*"));
        assertTrue(password.matches(".*[A-Z].*"));
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?