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

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

14
แฮชและเกลือที่ปลอดภัยสำหรับรหัสผ่าน PHP
ปัจจุบันมีการกล่าวกันว่า MD5 นั้นไม่ปลอดภัยบางส่วน เมื่อคำนึงถึงเรื่องนี้ฉันต้องการทราบว่ากลไกใดที่จะใช้สำหรับการป้องกันรหัสผ่าน คำถามนี้คือ“ การแฮ็ชสองเท่า” รหัสผ่านมีความปลอดภัยน้อยกว่าเพียงแค่การแฮชครั้งเดียวหรือไม่? แนะนำว่าการแฮ็กหลายครั้งอาจเป็นความคิดที่ดีในขณะที่วิธีการใช้การป้องกันด้วยรหัสผ่านสำหรับแต่ละไฟล์ แนะนำให้ใช้เกลือ ฉันใช้ PHP ฉันต้องการระบบเข้ารหัสรหัสผ่านที่ปลอดภัยและรวดเร็ว การแฮ็กรหัสผ่านเป็นล้านครั้งอาจปลอดภัยกว่า แต่ก็ช้าลงเช่นกัน วิธีการบรรลุสมดุลที่ดีระหว่างความเร็วและความปลอดภัย? นอกจากนี้ฉันต้องการผลลัพธ์ที่จะมีจำนวนตัวอักษรคงที่ กลไกการแปลงแป้นพิมพ์ต้องพร้อมใช้งานใน PHP มันจะต้องปลอดภัย มันสามารถใช้เกลือได้ (ในกรณีนี้เกลือทั้งหมดนั้นดีเท่ากันหรือไม่มีวิธีใดที่จะสร้างเกลือที่ดี?) นอกจากนี้ฉันควรเก็บสองฟิลด์ในฐานข้อมูล (ตัวอย่างเช่นใช้ MD5 และอีกฟิลด์หนึ่งใช้ SHA เป็นต้น) มันจะทำให้ปลอดภัยหรือไม่ปลอดภัยหรือไม่? ในกรณีที่ฉันยังไม่ชัดเจนพอฉันต้องการทราบว่าควรใช้ฟังก์ชัน hashing ใดและวิธีเลือกเกลือที่ดีเพื่อให้มีกลไกการป้องกันรหัสผ่านที่ปลอดภัยและรวดเร็ว คำถามที่เกี่ยวข้องที่ไม่ค่อยครอบคลุมคำถามของฉัน: ความแตกต่างระหว่าง SHA และ MD5 ในการ เข้ารหัสรหัสผ่านPHP อย่างง่าย วิธีการรักษาความปลอดภัยในการจัดเก็บคีย์รหัสผ่านสำหรับ asp.net คุณจะใช้รหัสผ่านเค็มใน Tomcat 5.5 อย่างไร


4
bcrypt มีเกลือในตัวได้อย่างไร
บทความของ Coda Hale "วิธีเก็บรหัสผ่านอย่างปลอดภัย"อ้างว่า: bcrypt มีเกลือในตัวเพื่อป้องกันการโจมตีของตารางสายรุ้ง เขาอ้างอิงบทความนี้ซึ่งกล่าวว่าในการดำเนินการของ OpenBSD bcrypt: OpenBSD สร้างเกลือ bcrypt 128- บิตจากกระแสหลักของ arcfour (arc4random (3)) ซึ่งประกอบด้วยข้อมูลแบบสุ่มที่เคอร์เนลรวบรวมจากการจับเวลาอุปกรณ์ ฉันไม่เข้าใจวิธีการทำงานนี้ ในความคิดของฉันของเกลือ: มันจะต้องแตกต่างกันสำหรับแต่ละรหัสผ่านที่เก็บไว้ดังนั้นตารางสายรุ้งแยกต่างหากจะต้องถูกสร้างขึ้นสำหรับแต่ละรหัส จำเป็นต้องเก็บไว้ที่ไหนสักแห่งเพื่อให้สามารถทำซ้ำได้: เมื่อผู้ใช้พยายามเข้าสู่ระบบเราใช้ความพยายามรหัสผ่านของพวกเขาทำซ้ำขั้นตอนเกลือและแฮชเดียวกันกับที่เราทำเมื่อเราเก็บรหัสผ่านเดิมและเปรียบเทียบ เมื่อฉันใช้ Devise (ผู้จัดการการเข้าสู่ระบบ Rails) กับ bcrypt ไม่มีคอลัมน์เกลือในฐานข้อมูลดังนั้นฉันจึงสับสน หากเกลือถูกสุ่มและไม่ได้เก็บไว้ที่ใดเราจะทำขั้นตอนการแฮชซ้ำได้อย่างน่าเชื่อถือได้อย่างไร ในระยะสั้นbcrypt สามารถมีเกลือในตัวได้อย่างไร

21
สร้างแฮชจากสตริงใน Javascript
ฉันต้องการแปลงสตริงเป็นแฮชบางรูปแบบ เป็นไปได้ใน JavaScript? ฉันไม่ได้ใช้ภาษาฝั่งเซิร์ฟเวอร์ดังนั้นฉันจึงไม่สามารถทำเช่นนั้นได้
585 javascript  hash 

12
ความแตกต่างพื้นฐานระหว่างอัลกอริทึม Hashing และการเข้ารหัส
ฉันเห็นความสับสนมากมายระหว่างแฮชและอัลกอริธึมการเข้ารหัสและฉันต้องการฟังคำแนะนำจากผู้เชี่ยวชาญเพิ่มเติมเกี่ยวกับ: ควรใช้แฮชเมื่อใดเทียบกับการเข้ารหัส สิ่งที่ทำให้แฮชหรืออัลกอริธึมการเข้ารหัสแตกต่างกัน (จากระดับทฤษฎี / คณิตศาสตร์) คือสิ่งที่ทำให้แฮชไม่สามารถย้อนกลับได้ (โดยไม่ต้องอาศัยต้นรุ้ง) นี่คือคำถาม SO ที่คล้ายกันที่ไม่ได้ลงรายละเอียดมากที่สุดเท่าที่ฉันกำลังมองหา: ความแตกต่างระหว่าง Obfuscation, Hashing และ Encryption คืออะไร ความแตกต่างระหว่างการเข้ารหัสและการแฮช

14
ตารางแฮชทำงานอย่างไร
ฉันกำลังมองหาคำอธิบายวิธีการใช้งานตารางแฮช - เป็นภาษาอังกฤษธรรมดาสำหรับคนธรรมดาอย่างฉัน! ตัวอย่างเช่นฉันรู้ว่าต้องใช้กุญแจคำนวณแฮช (ฉันกำลังหาคำอธิบายว่าทำอย่างไร) จากนั้นก็ทำการโมดูโลบางอย่างเพื่อหาว่ามันอยู่ที่ไหนในอาเรย์ที่เก็บค่าไว้ แต่นั่นคือที่ความรู้ของฉันหยุด . ทุกคนสามารถอธิบายกระบวนการได้หรือไม่ แก้ไข:ฉันไม่ได้ถามเฉพาะเกี่ยวกับวิธีคำนวณรหัสแฮช แต่ภาพรวมทั่วไปของวิธีการใช้ตารางแฮช

12
ทำไม hashCode ของ Java () ใน String ใช้ 31 เป็นตัวคูณ
สำหรับเอกสารคู่มือ Java รหัสแฮชสำหรับStringวัตถุนั้นคำนวณเป็น: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] การใช้intเลขคณิตโดยที่s[i]เป็น ตัวอักษรที่iของสตริงnคือความยาวของสตริงและ^บ่งชี้การยกกำลัง ทำไม 31 ถูกใช้เป็นตัวคูณ ฉันเข้าใจว่าตัวคูณควรเป็นจำนวนเฉพาะที่ค่อนข้างใหญ่ ดังนั้นทำไมไม่ 29 หรือ 37 หรือ 97
480 java  string  algorithm  hash 

12
HashSet กับประสิทธิภาพของรายการ
เป็นที่ชัดเจนว่าประสิทธิภาพการค้นหาของHashSet<T>คลาสทั่วไปสูงกว่าList<T>คลาสทั่วไป เพียงเปรียบเทียบคีย์แฮชที่ใช้กับวิธีการเชิงเส้นในList<T>ชั้นเรียน อย่างไรก็ตามการคำนวณคีย์กัญชาตัวเองอาจใช้เวลารอบการทำงานบางอย่างเพื่อให้สำหรับจำนวนเงินที่เล็ก ๆ HashSet<T>ของรายการที่ค้นหาเชิงเส้นสามารถเป็นทางเลือกที่แท้จริงในการ คำถามของฉัน: จุดคุ้มทุนอยู่ที่ไหน เพื่อให้สถานการณ์ง่ายขึ้น (และยุติธรรม) สมมติว่าList<T>คลาสใช้Equals()วิธีการขององค์ประกอบเพื่อระบุรายการ

16
ทำไมฟังก์ชันแฮชควรใช้โมดูลัสของจำนวนเฉพาะ?
เมื่อนานมาแล้วฉันซื้อโครงสร้างข้อมูลที่จองไว้ที่ราคาต่อรอง $ 1.25 ในนั้นคำอธิบายสำหรับฟังก์ชั่นคร่ำเครียดบอกว่ามันควรจะปรับเปลี่ยนในที่สุดโดยจำนวนเฉพาะเพราะ "ธรรมชาติของคณิตศาสตร์" คุณคาดหวังอะไรจากหนังสือราคา $ 1.25 อย่างไรก็ตามฉันมีเวลาหลายปีที่จะคิดเกี่ยวกับธรรมชาติของคณิตศาสตร์และยังไม่สามารถเข้าใจได้ การกระจายของตัวเลขเป็นจริงมากขึ้นแม้ว่าจะมีถังจำนวนมากหรือ หรือนี่เป็นเรื่องโปรแกรมเมอร์เก่าที่ทุกคนยอมรับเพราะทุกคนอื่นยอมรับมันได้หรือไม่

6
คำนวณ MD5 checksum สำหรับไฟล์
ฉันใช้iTextSharpเพื่ออ่านข้อความจากไฟล์ PDF อย่างไรก็ตามมีบางครั้งที่ฉันไม่สามารถแยกข้อความได้เนื่องจากไฟล์ PDF มีเพียงภาพเท่านั้น ฉันดาวน์โหลดไฟล์ PDF ที่เหมือนกันทุกวันและฉันต้องการดูว่าไฟล์ PDF นั้นได้รับการแก้ไขหรือไม่ หากไม่สามารถรับข้อความและวันที่แก้ไขได้MD5 จะตรวจสอบวิธีการที่เชื่อถือได้มากที่สุดในการบอกว่าไฟล์มีการเปลี่ยนแปลงหรือไม่? ถ้าเป็นเช่นนั้นตัวอย่างโค้ดบางส่วนจะได้รับการชื่นชมเพราะฉันไม่มีประสบการณ์มากในการเข้ารหัส
334 c#  .net  hash  md5 

11
สตริงแฮช node.js?
ฉันมีสตริงที่ฉันต้องการแฮช วิธีที่ง่ายที่สุดในการสร้างแฮชใน node.js คืออะไร แฮชใช้สำหรับการกำหนดเวอร์ชันไม่ใช่ความปลอดภัย
325 hash  node.js 

4
ฉันควรใช้ประเภท / ความยาวคอลัมน์ใดในการจัดเก็บรหัสผ่านที่แฮช Bcrypt ในฐานข้อมูล
ฉันต้องการเก็บรหัสผ่านที่แฮช (โดยใช้ BCrypt) ในฐานข้อมูล อะไรคือสิ่งที่ดีสำหรับสิ่งนี้และความยาวที่ถูกต้องคืออะไร? รหัสผ่านถูกแฮชด้วย BCrypt ยาวเท่ากันหรือไม่ แก้ไข ตัวอย่างแฮช: $2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu หลังจากแฮชรหัสผ่านบางส่วนดูเหมือนว่า BCrypt จะสร้างแฮช 60 ตัวเสมอ แก้ไข 2 ขออภัยที่ไม่ได้กล่าวถึงการใช้งาน ฉันใช้jBCrypt
318 mysql  hash  types  storage  bcrypt 


16
รหัสผ่าน“ การแฮ็ชสองเท่า” นั้นมีความปลอดภัยน้อยกว่าแค่เพียงครั้งเดียวหรือไม่
การแฮชรหัสผ่านสองครั้งก่อนที่จะจัดเก็บข้อมูลมีความปลอดภัยมากกว่าหรือน้อยกว่าเพียงแค่ทำการแฮชรหัสครั้งเดียวหรือไม่? สิ่งที่ฉันกำลังพูดถึงคือการทำสิ่งนี้: $hashed_password = hash(hash($plaintext_password)); แทนที่จะเป็นแค่นี้: $hashed_password = hash($plaintext_password); หากมีความปลอดภัยน้อยกว่าคุณสามารถให้คำอธิบายที่ดี (หรือลิงค์ไปยังหนึ่ง) ได้หรือไม่? ฟังก์ชั่นแฮชใช้เพื่อสร้างความแตกต่างหรือไม่? มันสร้างความแตกต่างหรือไม่ถ้าคุณผสม md5 และ sha1 (ตัวอย่าง) แทนที่จะทำซ้ำฟังก์ชันแฮชเดียวกัน หมายเหตุ 1: เมื่อฉันพูดว่า "การแฮ็กสองครั้ง" ฉันกำลังพูดถึงการแฮชรหัสผ่านสองครั้งเพื่อพยายามทำให้มันถูกบดบังมากขึ้น ฉันไม่ได้พูดเกี่ยวกับเทคนิคในการแก้ไขปัญหาการชนกัน หมายเหตุ 2: ฉันรู้ว่าฉันต้องเพิ่มเกลือแบบสุ่มเพื่อให้ปลอดภัยจริงๆ คำถามคือว่า hashing สองครั้งด้วยอัลกอริทึมเดียวกันช่วยหรือเจ็บกัญชา

2
C ++ unordered_map โดยใช้ประเภทคลาสที่กำหนดเองเป็นคีย์
ฉันพยายามที่จะใช้คลาสที่กำหนดเองเป็นกุญแจสำคัญสำหรับการunordered_mapเช่นต่อไปนี้: #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){} Node(vector<int> v) { sort(v.begin(), v.end()); a = v[0]; b = v[1]; c = v[2]; } bool operator==(Node i) { if ( i.a==this->a && i.b==this->b &&i.c==this->c …

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