๐Ÿ‘จ‍๐Ÿ’ป kimtongting
 

 

 

์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋งŒํผ์˜ ๋žœ๋ค ๋น„๋ฐ€๋ฒˆํ˜ธ ์ƒ์„ฑ

์š”์ฒญ์‚ฌํ•ญ์— ์˜ํ•ด, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™” ์‹œ ๋žœ๋ค ๊ฐ’์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ƒ์„ฑํ•ด๋‹ฌ๋ผ๊ณ  ํ•˜์˜€๋‹ค.

์ˆซ์ž, ์˜ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์„ž์–ด์„œ ํŠน์ • ์ž๋ฆฟ ์ˆ˜๋กœ ๋ง์ด๋‹ค.

 

์ผ๋‹จ์€ ์š”๊ตฌ์กฐ๊ฑด์— ๋งž๊ฒŒ๋” ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

	private static String getRandomPassword(int passwordLength) {
		char[] pwdcharSet = new char[] { 
				'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 
				'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
				'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' 
		}; 
		int idx = 0;
		StringBuffer sb = new StringBuffer();		
		for (int i = 0; i < passwordLength; i++) { 
			idx = (int) (pwdcharSet.length * Math.random());
			sb.append(pwdcharSet[idx]); 
		}				
		return sb.toString();
	}
	
	public static void main(String[] args) {
			String rs=getRandomPassword(8);
			System.out.println("rs : "+rs);

	}

 

๊ณต๋ถ€ํ•˜๋Š” ์นœ๊ตฌ๋“ค์„ ์œ„ํ•œ ์ฃผ์„

char[] pwdcharSet : ์ผ๋‹จ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์‹ถ์€ ๋‹จ์–ด ๋˜๋Š” ์ˆซ์ž ๋˜๋Š” ๋ฌธ๊ตฌ๋“ค์„ ๋ฐฐ์—ด์— ๋„ฃ๋Š”๋‹ค.

(์šฐ๋ฆฌ๋Š” ์ด ๋ฒ”์œ„ ์•ˆ์— ์žˆ๋Š” ์นœ๊ตฌ๋“ค์„ ๊ฐ€์ง€๊ณ  ํ•ธ๋“ค๋ง ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค)

 

int idx : ์œ„์—์„œ ์„ ์–ธํ•œ pwdcharSet ์˜ ๋ฒˆ์ง€ ๊ฐ’์„ ๊ณ ๋ฅผ ๊ฒƒ์ธ์ง€ ๋‹ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ๋‹ค.//์‚ฌ์‹ค ์„ ์–ธํ•ด๋„ ๊ทธ๋งŒ, ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ๊ทธ๋งŒ. ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. (์ดˆ๊ธฐํ™”๋Š” ์žŠ์ง€๋ง๊ณ )

 

StringBuffer : ๋‹จ์ˆœํžˆ ๋ฌธ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด ์ด์–ด ๋ถ™์ด๊ธฐ ์œ„ํ•ด ์ฆ‰, StringBuffer์˜ append๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ ์–ธํ–ˆ๋‹ค.

idx = (int)(pwdcharSet.length*Math.random()) : ์œ„์—์„œ ๋งํ–ˆ๋“ฏ idx๋Š” pwdcharSet์˜ ๋ฒˆ์ง€ ๊ฐ’์„ ๋‹ด๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜์ด๋‹ค.

Math.random์˜ ๋ฒ”์œ„๋Š” 0.0 ~ 1.0 ์‚ฌ์ด ์ž„์œผ๋กœ ์œ„์—์„œ๋Š” 62*Math.random(); ์ด ๋˜๊ฒ ๋‹ค.

 

sb.append(pwdcharSet[idx]) : pwdcharSet[๋ฒˆ์ง€ ๊ฐ’]์„ append๋กœ ์ถ”๊ฐ€ํ•˜๋Š”๋ฐ, for๋ฌธ์œผ๋กœ ๊ฐ์‹ธ ์ž๋ฆฟ์ˆ˜๋งŒํผ ์ด์–ด๋ถ™์ธ๋‹ค.

 

int passwordLength ๊ฐ’์ด 8 ์ด๋ฉด 8์ž๋ฆฌ๊ฒ ์ฃ ?

 

๋

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•
profile

๐Ÿ‘จ‍๐Ÿ’ป kimtongting

@kimtongting ์ž…๋‹ˆ๋‹ค

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!