よくあるのかわからないけど、以前作った機能を公開。
ずばりパスワードランダム生成!!!
もちろん他の機能にも流用することは可能!!!!
・・・・・・たいしたことしてないし(--;
とりあえずこんな感じ。
---------------------------------------------------------------------------
package shima3.util;
/**
* パスワードを自動で生成して返すクラス。
*
* @version Revision: 1.0
*/
public class PasswordRandomCreater {
/** パスワード生成時に使用してはいけない文字列 */
// TODO 実際はプロパティファイルに書くべき
private static final String BAD_CHARS = "01OI";
/** 生成する文字長さ */
// TODO 実際はプロパティファイルに書くべき
private static final int SIZE = 10;
/**
* 自動生成されたパスワードを返す。<BR>
* @return パスワード
*/
public static String createPassword() {
StringBuffer randomString = new StringBuffer(SIZE);
for (int i = 0; i < SIZE; i++) {
randomString.append(createRandomCharcterValue());
}
return randomString.toString();
}
private static final char START_NUMBER = '0';
private static final char END_NUMBER = '9';
private static final char START_CHAR = 'A';
private static final char END_CHAR = 'Z';
/**
* ランダムな文字を1文字返す<br>
* Math.random()を使用し、生成される文字範囲は数字と大文字英字<BR>
* @return ランダムな文字
*/
private static char createRandomCharcterValue() {
char chr;
do {
chr = (char)(END_CHAR * Math.random() + 1);
} while (
chr < START_NUMBER
|| chr > END_CHAR
|| (chr > END_NUMBER && chr < START_CHAR )
|| BAD_CHARS.indexOf(chr) != -1);
return chr;
}
}
---------------------------------------------------------------------------