แรงบันดาลใจจากการโพสต์นี้ได้รับการโอนย้ายไม่ดี
หัวหน้าฝ่ายรักษาความปลอดภัยที่ บริษัท ของคุณเป็นห่วงเกี่ยวกับระบบการสร้าง PIN ของคุณหลังจากที่ให้ระบบ12345
แล้ว นอกจากนี้เขายังไม่ได้ชื่นชม Spaceballs ที่คุณสร้างขึ้นด้วยค่าใช้จ่ายจริง ๆ ดังนั้นคุณจึงได้รับมอบอำนาจให้เขียนรหัส PIN ใหม่ เนื่องจากต้องพอดีกับฮาร์ดแวร์พิเศษบางอย่างคุณจึงต้องทำให้มีขนาดเล็กที่สุดเท่าที่จะทำได้
งานของคุณ
- คุณรับการป้อนข้อมูลสองรายการ - # ของ PIN และขนาด PIN เป็นตัวเลข
- สร้างหมายเลข PIN ที่ระบุของขนาดที่ระบุแบบสุ่มและพิมพ์ออกมา
- ขนาดของ PIN ที่ถูกต้องทั้งหมดจะต้องเป็นไปได้ที่จะพิมพ์ออกมาแม้ว่าจะไม่น่าจะเป็นไปได้ที่สม่ำเสมอ
อย่างไรก็ตามมีข้อ จำกัด บางประการเกี่ยวกับ PIN - ต่อไปนี้เป็นข้อผิดพลาด:
- หากคู่ทั้งหมดเป็นตัวเลขเดียวกัน:
114422
(หมายเหตุ: นี่จะรวมถึง PIN หลักที่เหมือนกันทั้งหมด) - PIN เชิงเส้นเพิ่มมากขึ้น (mod 10):
246802
10): - กลุ่มทั้งหมด 3 เส้นเป็นฟิสิคัลบนปุ่มกดของ
1 2 3;4 5 6;7 8 9;bksp 0 enter;
:147369
: - PIN สามารถแบ่งออกเป็นกลุ่ม ๆ ได้จากกฎ 1 และกฎ 3
- หากคู่ทั้งหมดเป็นตัวเลขเดียวกัน:
- นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
@minxomat จุดที่ดีทำลายกฎเพื่อรวมทั้งสองกลุ่ม คนนั้นจะนับตั้งแต่ครึ่งหลัง
—
Maltysen
123
แต่55432
ก็ไม่เป็นไร
กฎ 3 รวม diagonals หรือไม่
—
Martin Ender
ประชดคือความหมายของพินที่เรียกว่า "ปลอดภัย" นี้จะลดจำนวนผู้โจมตีพินเท่านั้นที่อาจต้องดุร้าย!
—
DankMemes
ความยาวสั้นที่สุดสำหรับกฎ 2 คืออะไร
—
เดนนิส
55123
) ด้วยหรือไม่