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

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

11
php mysqli_connect: วิธีการตรวจสอบสิทธิ์ที่ไคลเอ็นต์ไม่รู้จัก [caching_sha2_password]
ฉันใช้ php mysqli_connectเพื่อเข้าสู่ฐานข้อมูล MySQL (ทั้งหมดบน localhost) <?php //DEFINE ('DB_USER', 'user2'); //DEFINE ('DB_PASSWORD', 'pass2'); DEFINE ('DB_USER', 'user1'); DEFINE ('DB_PASSWORD', 'pass1'); DEFINE ('DB_HOST', '127.0.0.1'); DEFINE ('DB_NAME', 'dbname'); $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if(!$dbc){ die('error connecting to database'); } ?> นี่คือตาราง mysql.user: MySQL Server ini ไฟล์: [mysqld] # The default authentication plugin …
102 php  mysql  hash  sha 

11
รวบรวมการแฮชสตริงเวลา
ฉันได้อ่านในที่ต่างๆไม่กี่แห่งว่าการใช้ตัวอักษรสตริงใหม่ของ C ++ 11 อาจเป็นไปได้ที่จะคำนวณแฮชของสตริงในเวลาคอมไพล์ อย่างไรก็ตามดูเหมือนจะไม่มีใครพร้อมที่จะออกมาพูดว่ามันจะเป็นไปได้หรือจะทำได้อย่างไร เป็นไปได้หรือไม่ ตัวดำเนินการจะมีลักษณะอย่างไร? ฉันสนใจเป็นพิเศษกรณีการใช้งานเช่นนี้ void foo( const std::string& value ) { switch( std::hash(value) ) { case "one"_hash: one(); break; case "two"_hash: two(); break; /*many more cases*/ default: other(); break; } } หมายเหตุ: ฟังก์ชันแฮชเวลาคอมไพล์ไม่จำเป็นต้องมีลักษณะตรงตามที่ฉันเขียนไว้ ฉันพยายามอย่างดีที่สุดที่จะเดาว่าทางออกสุดท้ายจะเป็นอย่างไร แต่meta_hash<"string"_meta>::valueก็อาจเป็นทางออกที่ใช้ได้

3
จะเชี่ยวชาญ std :: hash <Key> :: operator () สำหรับชนิดที่ผู้ใช้กำหนดในคอนเทนเนอร์ที่ไม่ได้เรียงลำดับได้อย่างไร
ในการรองรับประเภทคีย์ที่ผู้ใช้กำหนดstd::unordered_set&lt;Key&gt;และstd::unordered_map&lt;Key, Value&gt; ต้องระบุoperator==(Key, Key)และแฮช functor: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; std::unordered_set&lt;X, MyHash&gt; s; จะสะดวกกว่าในการเขียนstd::unordered_set&lt;X&gt; โดยใช้แฮชเริ่มต้นสำหรับประเภทXเช่นประเภทที่มาพร้อมกับคอมไพเลอร์และไลบรารี หลังจากปรึกษา C ++ Standard Draft N3242 §20.8.12 …

1
แนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับการสร้างโทเค็น OAuth?
ฉันตระหนักดีว่าข้อมูลจำเพาะ OAuthไม่ได้ระบุอะไรเกี่ยวกับที่มาของ ConsumerKey, ConsumerSecret, AccessToken, RequestToken, TokenSecret หรือรหัสผู้ตรวจสอบ แต่ฉันสงสัยว่ามีแนวทางปฏิบัติที่ดีที่สุดในการสร้างโทเค็นที่ปลอดภัยอย่างมีนัยสำคัญหรือไม่ (โดยเฉพาะโทเค็น / การรวมความลับ) อย่างที่ฉันเห็นมีหลายวิธีในการสร้างโทเค็น: เพียงใช้ไบต์สุ่มเก็บในฐานข้อมูลที่เกี่ยวข้องกับผู้บริโภค / ผู้ใช้ แฮชข้อมูลเฉพาะของผู้ใช้ / ผู้บริโภคจัดเก็บในฐานข้อมูลที่เกี่ยวข้องกับผู้บริโภค / ผู้ใช้ เข้ารหัสข้อมูลเฉพาะผู้ใช้ / ผู้บริโภค ข้อดีของ (1) คือฐานข้อมูลเป็นแหล่งข้อมูลเดียวที่ดูเหมือนปลอดภัยที่สุด มันจะยากกว่าที่จะโจมตีมากกว่า (2) หรือ (3) การแฮ็กข้อมูลจริง (2) จะช่วยให้สามารถสร้างโทเค็นขึ้นมาใหม่จากข้อมูลที่น่าจะเป็นที่รู้จักอยู่แล้ว อาจไม่ได้ให้ประโยชน์ใด ๆ กับ (1) เนื่องจากจะต้องจัดเก็บ / ค้นหาอยู่ดี CPU เข้มข้นมากกว่า (1) การเข้ารหัสข้อมูลจริง (3) จะช่วยให้การถอดรหัสทราบข้อมูล สิ่งนี้จะต้องใช้พื้นที่จัดเก็บน้อยกว่าและอาจมีการค้นหาน้อยกว่า (1) &amp; …

6
แฮชไฟล์ใน Python
ฉันต้องการให้ python อ่าน EOF เพื่อที่ฉันจะได้รับแฮชที่เหมาะสมไม่ว่าจะเป็น sha1 หรือ md5 กรุณาช่วย. นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: import hashlib inputFile = raw_input("Enter the name of the file:") openedFile = open(inputFile) readFile = openedFile.read() md5Hash = hashlib.md5(readFile) md5Hashed = md5Hash.hexdigest() sha1Hash = hashlib.sha1(readFile) sha1Hashed = sha1Hash.hexdigest() print "File Name: %s" % inputFile print "MD5: %r" % md5Hashed print …
101 python  hash  md5  sha1  hashlib 

4
เมื่อใดที่ hash (n) == n ใน Python
ฉันได้รับเล่นกับงูหลามของฟังก์ชันแฮช สำหรับจำนวนเต็มขนาดเล็กจะปรากฏhash(n) == nเสมอ อย่างไรก็ตามสิ่งนี้ไม่ได้ครอบคลุมถึงจำนวนมาก: &gt;&gt;&gt; hash(2**100) == 2**100 False ฉันไม่แปลกใจเลยฉันเข้าใจว่าแฮชมีค่าที่ จำกัด ช่วงนั้นคืออะไร? ฉันลองใช้การค้นหาแบบไบนารีเพื่อค้นหาจำนวนที่น้อยที่สุดhash(n) != n &gt;&gt;&gt; import codejamhelpers # pip install codejamhelpers &gt;&gt;&gt; help(codejamhelpers.binary_search) Help on function binary_search in module codejamhelpers.binary_search: binary_search(f, t) Given an increasing function :math:`f`, find the greatest non-negative integer :math:`n` such that :math:`f(n) \le t`. …

11
วิธีที่ดีที่สุดในการสร้างชื่อไฟล์แบบสุ่มใน Python
ใน Python อะไรคือสิ่งที่ดีหรือวิธีที่ดีที่สุดในการสร้างข้อความแบบสุ่มเพื่อนำหน้าไฟล์ (ชื่อ) ที่ฉันบันทึกไปยังเซิร์ฟเวอร์เพื่อให้แน่ใจว่าจะไม่เขียนทับ ขอขอบคุณ!
100 python  random  hash 

1
Hash Rocket เลิกใช้งานแล้วหรือยัง
โพสต์จรวด RIP Hash ที่อ้างถึงอย่างดีดูเหมือนจะบ่งบอกถึงไวยากรณ์ Hash Rocket ( :foo =&gt; "bar") นั้นเลิกใช้แล้วเนื่องจากแฮชสไตล์ JSON แบบใหม่เป็น Ruby ( foo: "bar") แต่ฉันไม่พบการอ้างอิงที่ชัดเจนใด ๆ ที่ระบุแบบฟอร์ม Hash Rocket เลิกใช้งานจริง / ไม่ได้รับการแก้ไขเมื่อ Ruby 1.9

10
ความจำเป็นในการซ่อนเกลือสำหรับกัญชา
ในที่ทำงานเรามีสองทฤษฎีที่แข่งขันกันสำหรับเกลือ ผลิตภัณฑ์ที่ฉันทำงานใช้บางอย่างเช่นชื่อผู้ใช้หรือหมายเลขโทรศัพท์เพื่อเพิ่มแฮช โดยพื้นฐานแล้วสิ่งที่แตกต่างกันสำหรับผู้ใช้แต่ละคน แต่พร้อมสำหรับเรา ผลิตภัณฑ์อื่น ๆ จะสุ่มสร้างเกลือสำหรับผู้ใช้แต่ละรายและจะเปลี่ยนแปลงทุกครั้งที่ผู้ใช้เปลี่ยนรหัสผ่าน จากนั้นเกลือจะถูกเข้ารหัสในฐานข้อมูล คำถามของฉันคือแนวทางที่สองจำเป็นจริงหรือ? ฉันเข้าใจได้จากมุมมองทางทฤษฎีล้วนๆว่าปลอดภัยกว่าแนวทางแรก แต่จากมุมมองการปฏิบัติจริง ในขณะนี้ในการพิสูจน์ตัวตนผู้ใช้ต้องไม่เข้ารหัสเกลือและนำไปใช้กับข้อมูลการเข้าสู่ระบบ หลังจากคิดแล้วฉันก็ไม่เห็นประโยชน์ด้านความปลอดภัยที่แท้จริงจากแนวทางนี้ การเปลี่ยน Salt จากบัญชีเป็นบัญชียังคงทำให้บางคนพยายามบังคับใช้อัลกอริธึมการแฮชแบบเดรัจฉานแม้ว่าผู้โจมตีจะทราบวิธีการตรวจสอบอย่างรวดเร็วว่ามันคืออะไรสำหรับแต่ละบัญชีก็ตาม สิ่งนี้เกิดขึ้นโดยสันนิษฐานว่ารหัสผ่านมีความแข็งแกร่งเพียงพอ (เห็นได้ชัดว่าการค้นหาแฮชที่ถูกต้องสำหรับชุดรหัสผ่านที่เป็นตัวเลขสองหลักนั้นง่ายกว่าการค้นหาแฮชรหัสผ่านที่ถูกต้องซึ่งเป็นตัวเลข 8 หลัก) ตรรกะของฉันไม่ถูกต้องหรือมีบางอย่างที่ฉันขาดหายไป? แก้ไข:โอเคนี่คือเหตุผลที่ฉันคิดว่ามันเป็นเรื่องยากที่จะเข้ารหัสเกลือ (รู้ว่าฉันมาถูกทางหรือเปล่า) สำหรับคำอธิบายต่อไปนี้เราจะถือว่ารหัสผ่านเป็น 8 ตัวอักษรเสมอและเกลือคือ 5 และรหัสผ่านทั้งหมดประกอบด้วยตัวอักษรพิมพ์เล็ก (มันทำให้การคำนวณง่ายขึ้น) การมีเกลือที่แตกต่างกันสำหรับแต่ละรายการหมายความว่าฉันไม่สามารถใช้ตารางสายรุ้งเดียวกันได้ (จริงๆแล้วในทางเทคนิคฉันทำได้ถ้าฉันมีขนาดที่เพียงพอ แต่ขอเพิกเฉยต่อสิ่งนั้นในขณะนี้) นี่คือกุญแจสำคัญที่แท้จริงของเกลือจากสิ่งที่ฉันเข้าใจเพราะในการแตกทุกบัญชีฉันต้องสร้างวงล้อขึ้นมาใหม่เพื่อที่จะพูดถึงแต่ละบัญชี ตอนนี้ถ้าฉันรู้วิธีใช้เกลือที่ถูกต้องกับรหัสผ่านเพื่อสร้างแฮชฉันจะทำเพราะเกลือนั้นขยายความยาว / ความซับซ้อนของวลีที่แฮช ดังนั้นฉันจะตัดจำนวนชุดค่าผสมที่เป็นไปได้ที่ฉันต้องสร้างเพื่อ "รู้" ฉันมีรหัสผ่าน + เกลือจาก 13 ^ 26 เป็น 8 ^ 26 เพราะฉันรู้ว่าเกลือคืออะไร ตอนนี้ทำให้ง่ายขึ้น …

7
มีการใช้งานจาวาสคริปต์ SHA-256 ที่โดยทั่วไปถือว่าน่าเชื่อถือหรือไม่?
ฉันกำลังเขียนล็อกอินสำหรับฟอรัมและจำเป็นต้องแฮชรหัสผ่านฝั่งไคลเอ็นต์ในจาวาสคริปต์ก่อนที่จะส่งไปยังเซิร์ฟเวอร์ ฉันมีปัญหาในการหาการใช้งาน SHA-256 ที่ฉันสามารถเชื่อถือได้ ฉันคาดหวังว่าจะมีสคริปต์ที่เชื่อถือได้บางประเภทที่ทุกคนใช้ แต่ฉันพบโครงการต่างๆมากมายด้วยการใช้งานของตัวเอง ฉันตระหนักดีว่าการใช้ crypto ของคนอื่นเป็นความเชื่อที่ก้าวกระโดดเว้นแต่คุณจะมีคุณสมบัติพอที่จะตรวจสอบด้วยตัวเองและไม่มีคำจำกัดความที่เป็นสากลของคำว่า "น่าเชื่อถือ" แต่สิ่งนี้ดูเหมือนจะเป็นเรื่องธรรมดาและมีความสำคัญมากพอที่ควรจะมี ฉันทามติว่าจะใช้อะไร ฉันไร้เดียงสาเหรอ? แก้ไขเนื่องจากมีการแสดงความคิดเห็นมากมาย: ใช่เราทำการแฮชที่เข้มงวดมากขึ้นอีกครั้งในฝั่งเซิร์ฟเวอร์ การแฮชฝั่งไคลเอ็นต์ไม่ใช่ผลลัพธ์สุดท้ายที่เราบันทึกในฐานข้อมูล การแฮชฝั่งไคลเอ็นต์เป็นเพราะไคลเอนต์ที่เป็นมนุษย์ร้องขอ พวกเขาไม่ได้ให้เหตุผลที่เฉพาะเจาะจงว่าทำไมพวกเขาอาจชอบ overkill
99 hash  javascript  sha256  sha2 

2
ทำความสะอาดรหัสผ่านของผู้ใช้
ฉันจะหลีกเลี่ยงหรือล้างรหัสผ่านที่ผู้ใช้ให้มาก่อนที่จะแฮชและเก็บไว้ในฐานข้อมูลได้อย่างไร เมื่อนักพัฒนา PHP พิจารณาการแฮชรหัสผ่านของผู้ใช้เพื่อจุดประสงค์ด้านความปลอดภัยพวกเขามักจะคิดว่ารหัสผ่านเหล่านั้นเหมือนกับข้อมูลอื่น ๆ ที่ผู้ใช้ให้มา หัวข้อนี้มักเกิดขึ้นในคำถาม PHP ที่เกี่ยวข้องกับการจัดเก็บรหัสผ่าน นักพัฒนามักจะต้องการที่จะทำความสะอาดรหัสผ่านโดยใช้ฟังก์ชั่นเช่นescape_string()(ในการทำซ้ำต่างๆ), htmlspecialchars(), addslashes()และคนอื่น ๆ ก่อนที่จะ hashing มันและเก็บไว้ในฐานข้อมูล
98 php  sql  pdo  hash 

16
Linux: คำนวณแฮชเดียวสำหรับโฟลเดอร์และเนื้อหาที่กำหนด?
ต้องมีวิธีทำง่ายๆแน่นอน! ฉันได้ลองใช้แอปบรรทัดคำสั่งของ Linux sha1sumแล้วmd5sumแต่ดูเหมือนว่าจะสามารถคำนวณแฮชของไฟล์แต่ละไฟล์และแสดงรายการค่าแฮชได้หนึ่งรายการสำหรับแต่ละไฟล์ ฉันต้องการสร้างแฮชเดียวสำหรับเนื้อหาทั้งหมดของโฟลเดอร์ (ไม่ใช่แค่ชื่อไฟล์) ฉันต้องการทำสิ่งที่ชอบ sha1sum /folder/of/stuff &gt; singlehashvalue แก้ไข:เพื่อชี้แจงไฟล์ของฉันอยู่ในหลายระดับในแผนผังไดเรกทอรีไม่ใช่ทั้งหมดที่อยู่ในโฟลเดอร์รูทเดียวกัน
98 linux  bash  hash 


3
ความหมายของการแฮชแบบเปิดและการแฮชแบบปิด
เปิดการแฮช (การเชื่อมโยงแยก): ในการแฮชแบบเปิดคีย์จะถูกเก็บไว้ในรายการที่เชื่อมโยงซึ่งแนบกับเซลล์ของตารางแฮช การแฮชแบบปิด (เปิดที่อยู่): ในการแฮชแบบปิดคีย์ทั้งหมดจะถูกเก็บไว้ในตารางแฮชโดยไม่ต้องใช้รายการที่เชื่อมโยง ฉันไม่เข้าใจว่าทำไมจึงเรียกว่าเปิดปิดและแยกกัน บางคนสามารถอธิบายได้หรือไม่?
98 hash 

1
ทำไมทูเปิล (set ([1,“ a”,“ b”,“ c”,“ z”,“ f”])) == tuple (set ([“ a”,“ b”,“ c”, “ z”,“ f”, 1])) 85% ของเวลาที่เปิดใช้งานการสุ่มแฮช?
เมื่อได้รับคำตอบของ Zero Piraeus สำหรับคำถามอื่นเรามีสิ่งนั้น x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) พิมพ์Trueประมาณ 85% ของเวลาที่เปิดใช้งานการสุ่มแฮช ทำไมถึง 85%?

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