Password Generator
๊ฐ๋ ฅํ๊ณ ์์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ์์ฑํฉ๋๋ค. ์ํธํ์ ์ผ๋ก ์์ ํ ๋์๋ก ๊ธธ์ด์ ๋ฌธ์ ์งํฉ์ ์ค์ ํ์ธ์.
ย
100% Private
๋น๋ฐ๋ฒํธ๋ ๋ธ๋ผ์ฐ์ ์์ ์ํธํ์ ์ผ๋ก ์์ ํ ๋์๋ก ์์ฑ๋๋ฉฐ ์๋ฒ๋ก ์ ์ก๋์ง ์์ต๋๋ค.
Strength Analysis
์ฝํจ๋ถํฐ ๋งค์ฐ ๊ฐํจ๊น์ง 4๋จ๊ณ ๋ฏธํฐ๋ก ๋น๋ฐ๋ฒํธ ๊ฐ๋๋ฅผ ์ค์๊ฐ ํ๊ฐํฉ๋๋ค.
Crypto-Grade Randomness
Web Crypto API(crypto.getRandomValues)๋ก ์ง์ ํ ๋ฌด์์, ์์ธก ๋ถ๊ฐ๋ฅํ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ฑํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
๊ฐ๋ ฅํ ๋น๋ฐ๋ฒํธ๋ ๋ฌด์์ธ๊ฐ์?
๊ฐ๋ ฅํ ๋น๋ฐ๋ฒํธ์๋ ๋ค ๊ฐ์ง ํต์ฌ ์์ฑ์ด ์์ต๋๋ค. ๊ธธ์ด(์ต์ 12~16์), ๋ฌธ์ ๋ค์์ฑ(๋๋ฌธ์, ์๋ฌธ์, ์ซ์, ํน์๋ฌธ์), ๋ฌด์์์ฑ(์ฌ์ ๋จ์ด๋ ํจํด์ด ์์ด์ผ ํจ), ๊ณ ์ ์ฑ(์ฌ๋ฌ ๊ณ์ ์์ ์ฌ์ฌ์ฉํ์ง ์์์ผ ํจ)์ ๋๋ค. ๋ฌด๋ฃ ๋น๋ฐ๋ฒํธ ์์ฑ๊ธฐ๋ ์ด๋ฌํ ๋ชจ๋ ๊ธฐ์ค์ ์ถฉ์กฑํ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฆ์ ์์ฑํฉ๋๋ค.
๋น๋ฐ๋ฒํธ ์์ฑ๊ธฐ๋ ์ด๋ป๊ฒ ์์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ง๋ค๊น์?
์ ํฌ ๋น๋ฐ๋ฒํธ ์์ฑ๊ธฐ๋ ๋ธ๋ผ์ฐ์ ์ Web Crypto API(crypto.getRandomValues())๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ์ ์ผ๋ก ์์ ํ ๋์๋ฅผ ์์ฑํฉ๋๋ค. ์์ธก ๊ฐ๋ฅํ ์์ฌ ๋์๋ฅผ ์์ฑํ๋ Math.random()๊ณผ ๋ฌ๋ฆฌ, crypto.getRandomValues()๋ ์ด์ ์ฒด์ ์ ์ํธ๋กํผ ์์ค์์ ๊ฐ์ ๊ฐ์ ธ์ค๋ฏ๋ก ๋ณด์์ด ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค.
๋น๋ฐ๋ฒํธ๋ ์ผ๋ง๋ ๊ธธ์ด์ผ ํ๋์?
๋๋ถ๋ถ์ ๊ณ์ ์์ 16์๋ฅผ ๊ถ์ฅ ์ต์ ๊ธธ์ด๋ก ํฉ๋๋ค. ์ด ๊ธธ์ด์์ ๋ค ๊ฐ์ง ๋ฌธ์ ์ ํ์ ๋ชจ๋ ํฌํจํ ๋น๋ฐ๋ฒํธ๋ ์ฝ 95^16(์ฝ 4.4ร10^31)๊ฐ์ ๊ฐ๋ฅํ ์กฐํฉ์ ๊ฐ์ง๋ฉฐ, ์ด๋ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ์ผ๋ก ๊ณ์ฐ์ด ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ ์์ค์ ๋๋ค. ๋น๋ฐ๋ฒํธ๊ฐ ์งง์์๋ก ๊ธฐํ๊ธ์์ ์ผ๋ก ์ทจ์ฝํด์ง๋๋ค. ๋ค์ํ ๋ฌธ์๋ฅผ ์กฐํฉํ 8์๋ฆฌ ๋น๋ฐ๋ฒํธ๋ ํ๋์ ์ธ ํ๋์จ์ด๋ก ๋ช ์๊ฐ ๋ด์ ํฌ๋ํน๋ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๊ณ์ ์ ๋์ผํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํด๋ ๋ ๊น์?
์ ๋ ์ ๋ฉ๋๋ค. ๋น๋ฐ๋ฒํธ ์ฌ์ฌ์ฉ์ ๊ฐ์ฅ ์ํํ ๋ณด์ ๊ดํ ์ค ํ๋์ ๋๋ค. ํ๋์ ์๋น์ค์์ ๋ฐ์ดํฐ ์ ์ถ์ด ๋ฐ์ํ๋ฉด ๊ณต๊ฒฉ์๋ ์ ์ถ๋ ์๊ฒฉ ์ฆ๋ช ์ ๋ค๋ฅธ ์ธ๊ธฐ ์๋น์ค์์๋ ์๋ํฉ๋๋ค(ํฌ๋ฆฌ๋ด์ ์คํฐํ). ๊ฐ ๊ณ์ ๋ง๋ค ๊ณ ์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๊ณ , ์ ํฌ ๋น๋ฐ๋ฒํธ ์์ฑ๊ธฐ๋ก ์๋ก ์์ฑํ์ธ์.
๋ชจ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ธฐ์ตํ ์ ์๋ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
๊ทธ๊ฒ์ด ๋ฐ๋ก ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์๊ฐ ์กด์ฌํ๋ ์ด์ ์ ๋๋ค. Bitwarden, 1Password ๋๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์์ ๊ฐ์ ๋๊ตฌ๋ ๊ฐ ๊ณ์ ์ ๊ณ ์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ ํ๊ฒ ์ ์ฅํฉ๋๋ค. ํ๋์ ๊ฐ๋ ฅํ ๋ง์คํฐ ๋น๋ฐ๋ฒํธ๋ง ๊ธฐ์ตํ๋ฉด ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๋น๋ฐ๋ฒํธ๋ ๋ฌด๋ฃ ๋น๋ฐ๋ฒํธ ์์ฑ๊ธฐ๋ก ์์ฑํ์ธ์.