# Hash Function คืออะไร?

**URL:** <https://discuss.hashpire.io/t/hash-function/373>\
**Category:** Content Board\
**Tags:** glossary, beginner\
**Created:** [August 25, 2022, 4:53am UTC](https://discuss.hashpire.io/t/hash-function/373 "2022-08-25T04:53:55Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 25, 2022, 4:53am UTC](https://discuss.hashpire.io/t/hash-function/373/1 "2022-08-25T04:53:55Z")

</div>

# Planning

* * *

## Outline-text

### ชื่อหัวข้อที่จะนำเสนอ

- Hash Function คืออะไร

### โครงสร้างของเนื้อหา

1. จำนวนหัวข้อทั้งหมดที่จะนำเสนอ
  - 2 หัวข้อ

2. แต่ละหัวข้อจะนำเสนออะไร
  - หัวข้อที่ 1 : อธิบายความหมายของ Hash Function 2 บรรทัด
  - หัวข้อที่ 2 : อธิบายความหมายของคำว่าฟังก์ชัน เพิ่มเติม (อาจจะใส่เป็นข้อความเล็กๆ ด้านล่างหัวข้อ 1 )
  - Reference : ข้อมูล Hash Function อ้างอิงจากที่เราเรียนกันภายใน [https://youtu.be/DmUE-pRyt6s](https://youtu.be/DmUE-pRyt6s)  
ส่วนการอธิบายความหมายของคำว่า ฟังก์ชัน เนื่องจากในข้อมูล Hash Function อธิบายไว้ว่าเป็น  
ฟังก์ชันการทำงานแบบทางเดียว อาจจะต้องมีการ อธิบายคำว่าฟังก์ชันเสริมเข้าไป ว่ามันคืออะไร  
แต่ยังไม่มี Ref ว่าควรอธิบายในเชิงประมาณไหน

* * *

## Outline-graphic

### เสนอไอเดียสำหรับออกแบบกราฟฟิค

### รูปแบบของกราฟฟิคที่จะนำเสนอ

- Single image – use Glossary template

### โครงสร้างของกราฟฟิค

1. แต่ละ Page เป็นรูปแบบอย่างไร
  - รูปที่ 1 : มีชื่อ title “Hash Funciton” และคำอธิบายเป็นเหมือนบัตรคำศัพท์

คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ

#### 1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร

#### 2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร

#### 3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร

# Content

 ![hash-function-glossary](https://discuss.hashpire.io/uploads/default/original/1X/beb013ae667a63cb981011240dadc09993e8c6a5.png)

คือ ฟังก์ชันการทำงานแบบทางเดียว One-way function (Pre-image resistant) ซึ่งสามารถแปลงข้อมูล (Input) ที่มีความยาวเท่าไรก็ได้ (Arbitrary length) ออกมาเป็นข้อมูล (Output) ที่ความยาวคงที่ (Fixed-length) โดยผลลัพธ์ที่ได้จะถูกเรียกว่า " Hash value " ซึ่งนอกนอกจากนั้นแล้วก็จะมีในส่วนของ Second pre-image resistant และ Collision resistant อีกด้วย

# Reference

[![](https://discuss.hashpire.io/uploads/default/original/1X/437d077c438a1c40597952f99dfb9e7d7cfcc1b0.jpeg "Thursday Community Calls : ทำความเข้าใจ Hash Function และการใช้งาน") ](https://www.youtube.com/watch?v=DmUE-pRyt6s)

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 25, 2022, 8:26am UTC](https://discuss.hashpire.io/t/hash-function/373/2 "2022-08-25T08:26:07Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 26, 2022, 8:26am UTC](https://discuss.hashpire.io/t/hash-function/373/3 "2022-08-26T08:26:15Z")

</div>

คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ

1. ควรจบท้ายด้วย reference (อันนี้มีไหมครับ กรณีเป็นข้อมูลที่เราเรียนกันเองแบบนี้อ้างอิงยังไงครับ @anakornk )
2. ดีแล้วครับ
3. ไม่มั่นใจว่าจะต้องอธิบายความหมายของฟังก์ชันไหม คิดว่าไม่ได้สำคัญอะไรขนาดนั้นรอ @anakornk ตัดสินใจครับ

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 26, 2022, 8:27am UTC](https://discuss.hashpire.io/t/hash-function/373/4 "2022-08-26T08:27:18Z")

</div>



---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 26, 2022, 8:27am UTC](https://discuss.hashpire.io/t/hash-function/373/6 "2022-08-26T08:27:24Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [August 29, 2022, 11:07am UTC](https://discuss.hashpire.io/t/hash-function/373/9 "2022-08-29T11:07:18Z")

</div>

> [@Namtan](#):
>
> จำนวนหัวข้อทั้งหมดที่จะนำเสนอ

ช่วยอธิบายคำว่าหัวข้อหน่อย หมายถึง section หรืออะไร?

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 29, 2022, 11:15am UTC](https://discuss.hashpire.io/t/hash-function/373/10 "2022-08-29T11:15:16Z")

</div>

หัวข้อในที่นี้ มองว่ามันเป็น Subtopic หรือหัวข้อย่อย ๆ ที่แตกออกมาจากหัวข้อใหญ่อีกทีค่ะ

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [August 30, 2022, 4:17am UTC](https://discuss.hashpire.io/t/hash-function/373/11 "2022-08-30T04:17:56Z")

</div>

เท่ากับ paragraph ไหม หรือหมายถึงแค่ประเด็นที่อยากจะ cover?  
ถ้า outline เขียนว่าแต่ละ paragraph จะพูดถึงอะไรน่าจะดีนะ  
แล้วก็อาจจะมีในส่วนที่ว่าประเด็นที่อยากจะสื่อสารในcontent นี้

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [August 30, 2022, 8:51am UTC](https://discuss.hashpire.io/t/hash-function/373/12 "2022-08-30T08:51:53Z")

</div>

ตอนนี้เท่าที่ลองเขียนยังไม่เท่ากับ paragraph ค่ะเป็นแค่ประเด็นที่อยากจะพูดถึง เดี๋ยวอันไหนที่เป็นบทความยาว ๆ จะลองดูอีกทีค่ะ

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 7:14am UTC](https://discuss.hashpire.io/t/hash-function/373/13 "2022-08-31T07:14:06Z")

</div>

1. กระชับดีเข้าใจง่ายดีครับ แต่เหมือนจะมีเรื่อง Compression ในคลิปด้วยนะครับที่เค้าบอกว่ามันแตกต่างยังไง เพราะคนชอบสับสน แต่เข้าใจว่านี่คือหมวด Glossary ไม่ควรเวิ้นเว้อพูดถึงเรื่องอื่นเยอะ งั้นไว้เป็นบทความหน้าให้พี่หน่อยนะครับ Hash function vs Compression

> [@Namtan](#):
>
> # Content
> 
> คือ ฟังก์ชันการทำงานแบบทางเดียว (One-way function) ซึ่งสามารถแปลงข้อมูล (Input) ที่มีความยาวเท่าไรก็ได้ (Arbitrary length) ออกมาเป็นข้อมูล (Output) ที่ความยาวคงที่ (Fixed-length) โดยผลลัพธ์ที่ได้จะถูกเรียกว่า " Hash value "

2.1 พี่ชอบ ref แบบนี้นะ แต่ copy url youtube แบบระบุนาทีของวีดีโอด้วยก็ดีครับ คนกดไปก็สามารถดูได้เลย เพราะคลิปยาว  
2.2 ref เขียนอธิบายหน่อยไหมครับแนวๆ ชักจูงคนมาดูด้วย เช่น ถ้าเพื่อนๆ คนไหนสนใจอยากเรียนรู้เรื่องบลาๆๆ แบบละเอียด สามารถเข้าไปฟัง Comunity Talk ได้ที่ …

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [August 31, 2022, 7:14am UTC](https://discuss.hashpire.io/t/hash-function/373/14 "2022-08-31T07:14:19Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [September 13, 2022, 1:20pm UTC](https://discuss.hashpire.io/t/hash-function/373/15 "2022-09-13T13:20:49Z")

</div>

> [@supanut](#):
>
> ควรจบท้ายด้วย reference

ไม่ต้องอ้างอินถ้าไม่มี reference ที่แน่ชัด

> [@supanut](#):
>
> ไม่มั่นใจว่าจะต้องอธิบายความหมายของฟังก์ชันไหม

ไม่ต้องก็ได้

> [@supanut](#):
>
> สามารถเข้าไปฟัง Comunity Talk ได้ที่ …

ไว้รอบต่อไปดีกว่า community talk ตอนนี้มันมั่วๆหน่อย

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [September 13, 2022, 1:21pm UTC](https://discuss.hashpire.io/t/hash-function/373/16 "2022-09-13T13:21:13Z")

</div>



---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 14, 2022, 4:10am UTC](https://discuss.hashpire.io/t/hash-function/373/17 "2022-09-14T04:10:17Z")

</div>



---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 14, 2022, 4:12am UTC](https://discuss.hashpire.io/t/hash-function/373/19 "2022-09-14T04:12:15Z")

</div>

### Design artwork

- เริ่มออกแบบ Graphic @Pantitas

---

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [September 14, 2022, 4:12am UTC](https://discuss.hashpire.io/t/hash-function/373/20 "2022-09-14T04:12:20Z")

</div>



---

<div class="post-metadata">

**Author:** ![Pantitas](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/pantitas/32/4_2.png) [@Pantitas](https://discuss.hashpire.io/u/Pantitas)\
**Post date:** [September 28, 2022, 1:30am UTC](https://discuss.hashpire.io/t/hash-function/373/22 "2022-09-28T01:30:52Z")

</div>



---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:20am UTC](https://discuss.hashpire.io/t/hash-function/373/23 "2022-10-05T04:20:08Z")

</div>

@Pantitas ตัวกราฟฟิกไม่ได้สื่อสารความเป็น hash function เท่าไร

รูปนี้สื่อสารได้ครบท้วน ทั้งในส่วนของ arbitary length input และ fixed-length output

 ![image](https://discuss.hashpire.io/uploads/default/original/1X/700c184f810b2c13fb69f6d41c5cabddc61bbe61.jpeg)

ถ้าจะได้โช one way อีกก็ควรที่จะมี backward arrow แต่มี X อยู่ตรงกลาง

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:21am UTC](https://discuss.hashpire.io/t/hash-function/373/24 "2022-10-05T04:21:56Z")

</div>

@Namtan @supanut @Pantitas  
Hash function จริงๆ ไม่ใช่แค่ one way(pre-image resistant) + arbitrary-length input + fixed-length output  
แต่จะมีในส่วนของ second pre-image resistant และ collision resistant ด้วย

 ![image](https://discuss.hashpire.io/uploads/default/original/1X/0088cc2def02e6ec15fbea4c726770ab1d0354d1.png)

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [October 5, 2022, 4:22am UTC](https://discuss.hashpire.io/t/hash-function/373/25 "2022-10-05T04:22:05Z")

</div>



[Next page](https://discuss.hashpire.io/t/hash-function/373.md?page=2)
