2021-02-10(Wed)
์์ธ ํ์ต ๋ด์ฉ
BCrypt๋ ๋จ๋ฐฉํฅ์ผ๋ก ๋ณตํธํ๊ฐ ๋ถ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ฐ๋ผ์ ํด์ฑ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฒ ๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ณด๋๋ผ๋ ์๋ณธ ๊ฐ์ ์ ์ ์์ต๋๋ค. ๋๋ถ์ ๊ฐ๋ฐ์๊ฐ ๋์ ๋ง์์ ๋จน๊ณ ํน์ ์ ์ ์ Password ๋ ์ฝ๋๋ฅผ ๋ฏ์ด๋ณธ๋ค๊ณ ํด๋ ๋ณตํธํ๋ ์๋ณธ Password๋ฅผ ์ ์ ์๊ฒ ๋๋ ๊ฒ์ด์ฃ .
โ
๊ทธ๋ผ ์ ์ ๊ฐ Password๋ฅผ ์
๋ ฅํ์ ๊ฒฝ์ฐ ๋ง๋ Password์ธ์ง ์ฌ๋ถ๋ ์ด๋ป๊ฒ ํ์ธํ๋๋!
DB์ ์ ์ฅํด๋๋ '๋์งํธ ํ๊ฑฐํ๋ฆฐํธ'๋ก BCrypt::Password Object๋ฅผ ์์ฑํ ํ == ์ฐ์ฐ์๋ก ๋น๊ตํ๋ฉด BCrypt::Password Object์ ๋ด๋ถ ํด์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํด๋น password๊ฐ ๋ง๋์ง ๊ฒ์ฆํฉ๋๋ค.
โ
๊ฒฐ๊ณผ์ ์ผ๋ก ํ์๊ฐ์
/๋ก๊ทธ์ธ ์ํธ ์ฒ๋ฆฌ๋ ์๋ ๊ณผ์ ์ผ๋ก ์ด๋ค์ง๋๋ค.
โ
1. ํ์๊ฐ์
์ ์
๋ ฅํ password๋ BCrypt::Password.create ๋ฉ์๋์ ์ธ์๋ก ๋๊ฒจ์ง๊ณ , BCrypt::Password Object๊ฐ ๋ง๋ค์ด์ง๋ค.
2. ์ด BCrypt::Password Object์ 'Digital fingerprint'๋ฅผ String์ผ๋ก DB์ ์ ์ฅํ๋ค.
3. ์ดํ ๋ก๊ทธ์ธ์ ์ ์ ๊ฐ Password๋ฅผ ์
๋ ฅํ๋ฉด, ํด๋น ์ ์ ์ DB Password ํ๋์ ์ ์ฅํด๋๋ 'Digital fingerprint'๋ฅผ ๋ถ๋ฌ์จ๋ค. ์ด๋ฅผ BCrypt::Password.new ๋ฉ์๋์ ์ธ์๋ก ๋๊ฒจ BCrypt::Password Object๋ฅผ ์์ฑํ๋ฉฐ, ์ด Object์ ์ ์ ๊ฐ ์
๋ ฅํ Password๋ฅผ ์ ๋ฌํ์ฌ ํด์๊ฒ์ฆํ๋๋ก ํ๋ค.๋ฌธ์ )
ํด๊ฒฐ)
Rails ํ
ํฌ๋ ํ ํ ๋ง
์ฐ๊ด ํ
์ด๋ธ ๊ฒ์์ ์๊ธฐ ์์ ์ ์ฐธ์กฐํ๊ณ ์ถ๋ค๋ฉด?
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
๋ค์ ํ์ต ๊ณํ
Last updated