คำถามติดแท็ก hash

ฟังก์ชันแฮชคือโพรซีเดอร์หรือฟังก์ชันทางคณิตศาสตร์ที่กำหนดไว้อย่างดีซึ่งแปลงข้อมูลจำนวนมากเป็นข้อมูลขนาดเล็กซึ่งมักจะเป็นจำนวนเต็มเดียว สำหรับคำถามเกี่ยวกับแฮชแท็กที่ใช้เพื่อติดป้ายกำกับเนื้อหาบนโซเชียลมีเดียให้ใช้แฮชแท็ก สำหรับคำถามเกี่ยวกับ URL และจุดยึด HTML ให้ใช้ Fragment-identifier สำหรับคำถามเกี่ยวกับประเภทแฮชของ Ruby ให้ใช้ ruby-hash

2
เพิ่มจำนวนเวทย์มนตร์ :: hash_combine
boost::hash_combineฟังก์ชั่นแม่แบบใช้การอ้างอิงถึงกัญชา (เรียกว่าseed) vและวัตถุ ตามเอกสารมันรวมseedกับแฮชของvโดย seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); ฉันเห็นว่านี่เป็นปัจจัยกำหนด ฉันเห็นสาเหตุที่ใช้ XOR ฉันพนันได้เลยว่าการเพิ่มจะช่วยในการทำแผนที่ค่าที่คล้ายกันออกจากกันอย่างกว้างขวางดังนั้นตารางแฮชการตรวจสอบจะไม่พังทลาย แต่มีใครอธิบายได้ไหมว่าค่าคงที่ของเวทมนตร์คืออะไร

4
Java เทียบเท่ากับพจนานุกรม Python
ฉันเป็นผู้ใช้ Python มาเป็นเวลานานและชอบวิธีการใช้พจนานุกรมมาก ใช้งานง่ายมากและใช้งานง่าย มี Java ที่ดีเทียบเท่ากับพจนานุกรมของ python หรือไม่? ฉันเคยได้ยินว่ามีคนใช้แฮชแมปและแฮชแท็ก ใครช่วยอธิบายความเหมือนและความแตกต่างของการใช้แฮชแท็กและแฮชแมปกับพจนานุกรมของ python ได้ไหม
95 java  python  hash  dictionary 

4
ฉันจะรวมแฮชใน Perl ได้อย่างไร?
วิธีใดดีที่สุดในการรวมแฮชทั้งสองเป็น% hash1 ฉันรู้เสมอว่า% hash2 และ% hash1 มีคีย์ที่ไม่ซ้ำกันเสมอ ฉันต้องการโค้ดบรรทัดเดียวถ้าเป็นไปได้ $hash1{'1'} = 'red'; $hash1{'2'} = 'blue'; $hash2{'3'} = 'green'; $hash2{'4'} = 'yellow';
95 perl  dictionary  hash  merge 

8
MD5 คือ 128 บิต แต่ทำไมถึงเป็น 32 ตัวอักษร?
ฉันอ่านเอกสารเกี่ยวกับ md5 มันบอกว่ามัน 128 บิต แต่ทำไมถึงเป็น 32 ตัวอักษร? ฉันคำนวณอักขระไม่ได้ 1 ไบต์คือ 8 บิต ถ้า 1 อักขระคือ 1 ไบต์ แล้ว 128 บิตคือ 128/8 = 16 ไบต์ใช่ไหม แก้ไข: SHA-1 สร้าง 160 บิตมีอักขระกี่ตัว?

4
Rails แมปอาร์เรย์ของแฮชลงในแฮชเดียว
ฉันมีแฮชมากมายดังนี้: [{"testPARAM1"=>"testVAL1"}, {"testPARAM2"=>"testVAL2"}] และฉันกำลังพยายามแมปสิ่งนี้กับแฮชเดียวดังนี้: {"testPARAM2"=>"testVAL2", "testPARAM1"=>"testVAL1"} ฉันประสบความสำเร็จโดยใช้ par={} mitem["params"].each { |h| h.each {|k,v| par[k]=v} } แต่ฉันสงสัยว่าเป็นไปได้ไหมที่จะทำในลักษณะที่เป็นสำนวนมากกว่านี้ (ควรจะไม่ใช้ตัวแปรท้องถิ่น) ฉันจะทำเช่นนี้ได้อย่างไร?

11
วิธีสร้างรหัสผ่านแฮช laravel
ฉันพยายามสร้างรหัสผ่านที่แฮชสำหรับ Laravel ตอนนี้มีคนบอกให้ฉันใช้ Laravel hash helper แต่ดูเหมือนจะหาไม่เจอหรือกำลังมองไปผิดทาง ฉันจะสร้างรหัสผ่านที่แฮช laravel ได้อย่างไร และที่ไหน? แก้ไข: ฉันรู้ว่ารหัสคืออะไร แต่ฉันไม่รู้ว่าจะใช้ที่ไหนและอย่างไรจึงให้รหัสผ่านที่แฮชกลับคืนมา หากฉันได้รับรหัสผ่านที่แฮชฉันสามารถแทรกลงในฐานข้อมูลด้วยตนเองได้

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

8
เกลือและแฮชรหัสผ่านใน Python
รหัสนี้ควรจะแฮชรหัสผ่านด้วยเกลือ กำลังบันทึกเกลือและรหัสผ่านที่แฮชไว้ในฐานข้อมูล รหัสผ่านไม่ได้ ด้วยลักษณะที่ละเอียดอ่อนของการดำเนินการฉันต้องการให้แน่ใจว่าทุกอย่างเป็นโคเชอร์ import hashlib import base64 import uuid password = 'test_password' salt = base64.urlsafe_b64encode(uuid.uuid4().bytes) t_sha = hashlib.sha512() t_sha.update(password+salt) hashed_password = base64.urlsafe_b64encode(t_sha.digest())

7
แฮชสตริงใน c #
ฉันมีปัญหาเมื่อพยายามดึงสตริงแฮชเข้าc#มา ฉันลองใช้เว็บไซต์ไปแล้วสองสามแห่ง แต่ส่วนใหญ่ใช้ไฟล์เพื่อรับแฮช อื่น ๆ สำหรับสตริงนั้นซับซ้อนเกินไปเล็กน้อย ฉันพบตัวอย่างการรับรองความถูกต้องของ Windows สำหรับเว็บเช่นนี้: FormsAuthentication.HashPasswordForStoringInConfigFile(tbxPassword.Text.Trim(), "md5") ฉันต้องใช้แฮชเพื่อสร้างสตริงที่มีชื่อไฟล์ให้ปลอดภัยยิ่งขึ้น ฉันจะทำเช่นนั้นได้อย่างไร? ตัวอย่าง: string file = "username"; string hash = ??????(username); ฉันควรใช้อัลกอริทึมการแฮชอื่นไม่ใช่ "md5" หรือไม่
93 c#  string  hash 

16
ทำไมค่าแฮช MD5 จึงไม่สามารถย้อนกลับได้?
แนวคิดหนึ่งที่ฉันสงสัยมาตลอดคือการใช้ฟังก์ชันแฮชและค่าที่เข้ารหัสลับ ฉันเข้าใจว่าฟังก์ชันเหล่านี้สามารถสร้างค่าแฮชที่ไม่เหมือนใครและแทบไม่สามารถย้อนกลับได้ แต่นี่คือสิ่งที่ฉันสงสัยมาตลอด: หากบนเซิร์ฟเวอร์ของฉันใน PHP ฉันสร้าง: md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e" เมื่อคุณเรียกใช้สตริงเดียวกันผ่านฟังก์ชัน MD5 คุณจะได้ผลลัพธ์เดียวกันกับการติดตั้ง PHP ของคุณ มีการใช้กระบวนการเพื่อสร้างมูลค่าจากค่าเริ่มต้นบางส่วน นี่ไม่ได้หมายความว่ามีวิธีแยกโครงสร้างสิ่งที่เกิดขึ้นและย้อนกลับค่าแฮชหรือไม่? มันเกี่ยวกับฟังก์ชันเหล่านี้ที่ทำให้สตริงผลลัพธ์ไม่สามารถย้อนกลับได้?


5
ทำไม Python dict จึงมีหลายคีย์ที่มีแฮชเดียวกัน
ฉันพยายามทำความเข้าใจกับhashฟังก์ชันPython ภายใต้ประทุน ฉันสร้างคลาสแบบกำหนดเองโดยที่อินสแตนซ์ทั้งหมดส่งคืนค่าแฮชเหมือนกัน class C: def __hash__(self): return 42 ฉันเพิ่งสันนิษฐานว่าอินสแตนซ์เดียวของคลาสข้างต้นสามารถอยู่ในdictช่วงเวลาใดก็ได้ แต่ในความเป็นจริงdictสามารถมีหลายองค์ประกอบที่มีแฮชเดียวกัน c, d = C(), C() x = {c: 'c', d: 'd'} print(x) # {<__main__.C object at 0x7f0824087b80>: 'c', <__main__.C object at 0x7f0823ae2d60>: 'd'} # note that the dict has 2 elements ฉันทดลองเพิ่มเติมอีกเล็กน้อยและพบว่าถ้าฉันแทนที่__eq__วิธีการเพื่อให้อินสแตนซ์ทั้งหมดของคลาสเปรียบเทียบเท่ากันจะมีdictเพียงอินสแตนซ์เดียวเท่านั้นที่อนุญาต class D: def __hash__(self): return 42 def …

3
วิธีแฮชรหัสผ่านแบบยาว (> 72 ตัวอักษร) ด้วยปักเป้า
สัปดาห์ที่แล้วฉันอ่านบทความมากมายเกี่ยวกับการแฮชรหัสผ่านและปักเป้าดูเหมือนว่า (หนึ่งใน) อัลกอริทึมการแฮชที่ดีที่สุดในตอนนี้ - แต่นั่นไม่ใช่หัวข้อของคำถามนี้! ขีด จำกัด 72 อักขระ ปักเป้าพิจารณาเฉพาะอักขระ 72 ตัวแรกในรหัสผ่านที่ป้อน: <?php $password = "Wow. This is a super secret and super, super long password. Let's add some special ch4r4ct3rs a#d everything is fine :)"; $hash = password_hash($password, PASSWORD_BCRYPT); var_dump($password); $input = substr($password, 0, 72); var_dump($input); var_dump(password_verify($input, $hash)); ?> …

4
Hash Table / Associative Array ใน VBA
ฉันไม่พบเอกสารอธิบายวิธีสร้างตารางแฮชหรืออาร์เรย์เชื่อมโยงใน VBA เป็นไปได้หรือไม่? คุณสามารถเชื่อมโยงไปยังบทความหรือดีกว่าโพสต์รหัสได้หรือไม่

9
เกลือที่ไม่สุ่มสำหรับแฮชรหัสผ่าน
อัปเดต: เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้จากคำถามนี้ว่าในการสนทนาทั้งหมดด้านล่างฉัน (และฉันแน่ใจว่าคนอื่น ๆ ก็ทำเช่นกัน) ค่อนข้างสับสน: สิ่งที่ฉันเรียกตารางสายรุ้งนั้นแท้จริงแล้วเรียกว่าตารางแฮช ตารางสายรุ้งเป็นสิ่งมีชีวิตที่ซับซ้อนกว่าและเป็นรูปแบบหนึ่งของ Hellman Hash Chains แม้ว่าฉันจะเชื่อว่าคำตอบนั้นยังคงเหมือนเดิม (เนื่องจากไม่ได้มีการเข้ารหัสลับ) การสนทนาบางส่วนอาจจะเบี้ยวเล็กน้อย คำถาม: " อะไรคือตารางรุ้งและวิธีการที่พวกเขาใช้? " โดยปกติฉันมักจะแนะนำให้ใช้ค่าสุ่มที่มีการเข้ารหัสที่แข็งแกร่งเป็นเกลือเสมอเพื่อใช้กับฟังก์ชันแฮช (เช่นรหัสผ่าน) เช่นเพื่อป้องกันการโจมตีของ Rainbow Table แต่จริง ๆ แล้วมันจำเป็นสำหรับการสุ่มเกลือหรือไม่? ค่าที่ไม่ซ้ำกัน (ไม่ซ้ำกันต่อผู้ใช้เช่น userId) จะเพียงพอหรือไม่ในเรื่องนี้ ในความเป็นจริงมันจะป้องกันไม่ให้ใช้ Rainbow Table เดียวเพื่อถอดรหัสรหัสผ่านทั้งหมด (หรือส่วนใหญ่) ในระบบ ... แต่การขาดเอนโทรปีทำให้ความแข็งแกร่งในการเข้ารหัสของฟังก์ชันแฮชลดลงหรือไม่? หมายเหตุฉันไม่ได้ถามว่าทำไมต้องใช้เกลือวิธีการป้องกัน (ไม่จำเป็นต้องเป็น) การใช้แฮชคงที่เดียว (ไม่ต้อง) หรือฟังก์ชันแฮชประเภทใดที่จะใช้ เพียงแค่ว่าเกลือต้องการเอนโทรปีหรือไม่ ขอบคุณทุกคนสำหรับคำตอบจนถึงตอนนี้ แต่ฉันอยากจะเน้นในส่วนที่ฉันไม่ค่อยคุ้นเคย (นิดหน่อย) ผลกระทบส่วนใหญ่สำหรับการเข้ารหัส …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.