Manual/BerEditor

[BerEditor] Message Digest (Hash) ๊ธฐ๋Šฅ ์‚ฌ์šฉ๋ฒ•

JayKim๐Ÿ™‚ 2023. 6. 5. 09:03

[์ด ๊ธฐ๋Šฅ์€ ๋ผ์ด์„ ์Šค ๋ฒ„์ „ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค]

Hash ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ๋Š” OpenSSL ์„ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์ž.
[OpenSSL] Message Digest ( Hash function ) ๋ช…๋ น์–ด
์ด๋ฒˆ์—๋Š” Message Digest ๋ฅผ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜์ธ ํ•ด์‰ฌ๋ฅผ BerEditor ๋ฅผ ์ด์šฉํ•ด ๊ตฌํ•ด ๋ณด์ž
BerEditor -> ์•”ํ˜ธ -> ํ•ด์‰ฌ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ ํ•˜์ž

Hash๊ฐ’ ๊ตฌํ•˜๋Š” ์ˆœ์„œ

  1. ํ•ด์‹œ ํ•  ์›๋ฌธ ๋ฉ”์„ธ์ง€๋ฅผ ์ž…๋ ฅ ๋ฐ์ดํƒ€ ๋„ฃ๊ธฐ
  2. ํ•ด์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ
  3. ํ•ด์‰ฌ ์‹คํ–‰
  4. ๊ฒฐ๊ณผ ๋ฐ์ดํƒ€์— ํ•ด์‹œ ๊ฐ’ ํ™•์ธ

์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๊ฐ„๋‹จํžˆ ๋ณด๋ฉด "Hello" ๋ผ๋Š” ๋ฌธ์ž์—ด์„ SHA1 ํ•ด์‰ฌ๋ฅผ ํ•˜์˜€์„ ๋•Œ
"F7FF9E8B7BB2E09B70935A5D785E0CC5D9D0ABF0" ํ•ด์‰ฌ ๊ฐ’์„ ๊ตฌํ•˜์˜€๋‹ค.
SHA1 ์ธ๊ฒฝ์šฐ 20๋ฐ”์ดํŠธ ๊ณ ์ • ๊ธธ์ด์˜ ๊ฐ’์ด ๋œ๋‹ค.

Hash ๋ฐ์ดํƒ€๋ฅผ ๋‚˜๋ˆ„์–ด์„œ ์ž…๋ ฅ ๋ฐฉ๋ฒ•

๋งŒ์•ฝ์— ๋ฐ์ดํƒ€๊ฐ€ ๊ธธ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ๋ฒˆ ๋‚˜๋ˆ„์–ด์„œ ์ž…๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
Init, Update, Final ๋ฒ„ํŠผ์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

  • Init : ํ•ด์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ดˆ๊ธฐํ™” (ํ•œ๋ฒˆ ์‹คํ–‰)
  • Update : ๋ฐ์ดํƒ€๋ฅผ ๊ณ„์†์—์„œ ์ถ”๊ฐ€ ํ•œ๋‹ค( ์ž…๋ ฅ๋ฐ์ดํƒ€๋ฅผ ๊ณ„์† ๋ณ€๊ฒฝ ํ•˜๋ฉด ๋œ๋‹ค)
  • Final : ๊ฒฐ๊ณผ ํ•ด์‰ฌ๊ฐ’์„ ๊ตฌํ•œ๋‹ค (ํ•œ๋ฒˆ ์‹คํ–‰)

์ด๋ ‡๊ฒŒ ๋ฉ”์„ธ์ง€ ์›๋ฌธ์„ ๋‚˜๋ˆ„์–ด์„œ ๊ตฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
ํ˜„์žฌ BerEditor ์—์„œ๋Š”
MD5, SHA1, SHA224, SHA256, SHA384, SHA512, SM3 ๊ฐ€ ์ง€์› ๋œ๋‹ค.
์ฐธ๊ณ ๋กœ SM3 ๋ฅผ ์ค‘๊ตญ์—์„œ ๋งŒ๋“  ํ•ด์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ 32 ๋ฐ”์ดํŠธ์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋งŒ๋“ ๋‹ค.