IT A-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 #

hashing

ที่มา whatis.com

  :   ผู้ชม 14404

hashing เป็นการปรับแปลงข้อความของตัวอักษรเป็นค่าความยาวตายตัวสั้นกว่าหรือคีย์ที่นำเสนอข้อความดั้งเดิม hashing ได้รับการใช้เป็นดัชนี และรายการที่ดึงออกมาจากฐานข้อมูล เพราะเร็วกว่าในการค้นหารายการด้วยการใช้คีย์แฮชสั้นกว่าการค้นหาด้วยการใช้ค่าดั้งเดิม รวมถึงการใช้อัลกอริทึมเข้ารหัส

ตัวอย่างอย่างง่ายของการใช้ hashing ในฐานข้อมูล กลุ่มของประชาชนสามารถได้รับการจัดในฐานข้อมูลเหมือนกับ
- Abernathy, Sara
- Epperdingle, Roscoe
- Moore, Wilfred
- Smith, David
(และข้อมูลอื่นๆ)

แต่ละชื่อจะเป็นคีย์ในฐานข้อมูลสำหรับข้อมูลบุคคล กลไกการค้นฐานข้อมูลจะเริ่มต้นมองตัวอักษรต่อตัวอักษรทุกชื่อสำหรับการหาค่าตรงกัน จนกระทั่งพบค่าตรงกัน (หรือกฎให้รายการอื่นออกไป) แต่ถ้าแต่ละเป็นการ hashing อาจจะมีสร้างคีย์ตัวเลข 4 ตำแหน่งสำหรับแต่ละชื่อ (ขึ้นกับจำนวนชื่อในฐานข้อมูล) ตัวอย่าง
- 7864 Abernathy, Sara
- 9802 Epperdingle, Roscoe
- 1990 Moore, Wilfred
- 8822 Smith, David
(และข้อมูลอื่นๆ)

การค้นหาแต่ละชื่อจะประกอบด้วยการคำนวณค่า hash ก่อน (ใช้ฟังก์ชัน hash เดียวกับการเก็บรายการ) จากนั้นเปรียบเทียบค่าตรงกันด้วยค่านั้น โดยทั่วไป การค้นหาด้วยตัวเลข 4 ตำแหน่ง แต่ละค่ามีเพียง 10 ความเป็นไปได้จะเร็วกว่าความยาวค่าที่คาดการณ์ไม่ได้จากแต่ละตัวอักษรมี 26 ความเป็นไปได้

อัลกอริทึม hashing ได้รับการเรียกว่า hash function (บางทีคำนี้มาจากความคิดว่าผลลัพธ์ค่า hash สามารถเป็นการคิดถึงเวอร์ชัน “ผสม” ของค่านำเสนอ) นอกจากการดึงค่าเร็วกว่าแล้ว hashing ได้รับการใช้ เข้ารหัสและถอดรหัสการลายมือชื่อดิจิตอล (ใช้รับรองข่าวสารของผู้ส่งและผู้รับ) ลายมือชื่อดิจิตอลได้รับการส่งผ่านด้วยฟังก์ชัน hash และค่า hash (รู้จักในชื่อ message-digest หรือการย่อยข่าวสาร) และลายมือชื่อได้รับการส่งในการส่งผ่านแยกจากกัน ด้วยการใช้ฟังก์ชัน hash เหมือนกับผู้ส่ง ผู้รับแปลงการย่อยข่าวสารจากลายมือชื่อและเปรียบเทียบกับการย่อยข่าวสารนั้นที่ได้รับ และควรเหมือนกัน

ฟังก์ชัน hash ได้รับการใช้ทำดัชนีค่าเริ่มแรกหรือคีย์ จากนั้นใช้ในแต่ละครั้งกับข้อมูลสัมพันธ์กับค่าหรือคีย์ที่ได้รับการดึงออกมา ดังนั้น hashing เป็นปฏิบัติการทางเดียวเสมอ ไม่จำต้องใช้ “วิศวกรรมผันกลับ” (reverse engineer) กับฟังก์ชัน hash โดยการวิเคราะห์ค่า hash ตามความจริง แนวคิดฟังก์ชัน hash ไม่สามารถแปลงโดยการวิเคราะห์เช่นนี้ ฟังก์ชัน hash ที่ดี จะไม่สร้างค่าค่า hash เดียวกันจากค่านำเข้า 2 ค่า ถ้าเกิดขึ้น สิ่งนี้เรียกว่า collision (การปะทะ) ฟังก์ชัน hash ที่ให้ความเสี่ยงต่ำของ collision ได้รับการพิจารณายอมรับ

นี่เป็นตัวอย่างฟังก์ชัน hash อย่างง่ายที่ได้รับการใช้งาน
- division-remainder method ขนาดจำนวนของรายการในตารางได้รับการประมาณ จำนวนั้นได้รับการใช้เป็นตัวหารกับแตละค่าดั้งเดิมหรือคีย์ที่แยกผลลัพธ์กับเศษของการหาร เศษนี้เป็นค่า hash (เพราะวิธีการนี้น่าเชื่อถือในการสร้างจำนวนของ collision กลไกการค้นหาต้องสามารถรับรู้ collision และเสนอกลไกทางเลือก)
- folding วิธีนี้แบ่งค่าดั้งเดิม (ตำแหน่งในกรณีนี้) เป็นหลายส่วน เพิ่มส่วนเข้าด้วยกัน แล้วใช้ 4 ตำแหน่งสุดท้าย (หรือจำนวนสุ่มอื่นของตำแหน่งที่ทำงานได้) เป็นค่า hash หรือคีย์
- radix transformation เมื่อค่าหรือคีย์เป็นตัวเลข เลขฐาน (หรือ radix) สามารถได้รับการเปลี่ยนผลลัพธ์ในอนุกรมตัวเลขต่างกัน (ตัวอย่าง คีย์เลขฐานสิบ สามารถแปลงเป็นคีย์เลขฐานสิบหก) ลำดับตัวเลขสูงสามารถทิ้งให้เหมาะค่า hash ของความยาวสม่ำเสมอ (uniform)
- digit rearrangement นี่เป็นการนำส่วนของค่าดั้งเดิมหรือคีย์ เช่น ตัวเลขในตำแหน่ง 3 ถึง 6 แปลงกลับตำแหน่ง จากนั้นใช้อนุกรมของตัวเลขเป็นค่า hash หรือคีย์

ฟังก์ชัน hash ทำงานได้ดีสำหรับัดเก็บฐานข้อมูลและดึงค่าอาจจะไม่ทำงานสำหรับวัตถุประสงค์ cryptographic หรือ การตรวจสอบความผิดพลาด มีหลายฟังก์ชัน hash ที่รู้จักกันดีใน cryptographic รวมถึง ฟังก์ชัน hash ย่อยข่าวสาร (message-digest) MD2, MD4 และ MD5 สำหรับการ hash ลายมือชื่อดิจิตอล เป็นค่าสั้นกว่าที่เรียกว่า การย่อยข่าวสาร และ Secure Hash Algorithm (SHA) อัลกอริทึมมาตรฐานที่ทำการย่อยข่าวสารขนาดใหญ่ (60 บิต) และคล้ายกับ MD4

ศัพท์เกี่ยวข้อง

algorithm, character, database, encryption, MD2, MD4, MD5, digital signature

update: 22 เมษายน 2548

IT A-Z ปรับปรุงล่าสุด
abacus
zero-day exploit
MPP (massively parallel processing)
message queueing
medium
semaphore
master/slave
MAC address (Media Access Control address)
mash-up
vlog
LANDesk Client Manager
laptop computer
linkrot
Itanium
Job Entry Subsystem (JES)
IP telephony (Internet Protocol telephony)
Kerberos
iterative
interoperability
interface definition language (IDL)

Loading
Microsoft Access
Access
дЄВЗСІ№м ตГРЎТГГСต№мКС№ตФ КСиงซЧйНјиТ№ PayPal г№ГТคТ 280 єТท
НШйБјТง аєЧйНงЛЕСงёГГБЄТตФ
Umphang
ГЩйЁСЎНШйБјТงг№НХЎбงиБШБ вґВ ปГРЄТ бБиЁС№
КСиงซЧйНјиТ№ PayPal г№ГТคТ 90 єТท
КงЗ№ЕФўКФทёФм (C) widebase