ในโปรแกรมลีนุกซ์ อาร์กอน2
เราจำเป็นต้องจัดหาเกลือในบรรทัดคำสั่ง ซึ่งจะจำกัดเกลือให้เป็นอักขระที่พิมพ์ได้ เราจะใช้สตริงไบนารีเป็นเกลือได้อย่างไร
# อาร์กอน2 -h
การใช้งาน: argon2 [-h] เกลือ [-i|-d|-id] [-t วนซ้ำ] [-m log2(หน่วยความจำใน KiB) | หน่วยความจำ -k ใน KiB] [-p ความขนาน] [-l ความยาวแฮช] [-e|-r] [-v (10|13)]
รหัสผ่านถูกอ่านจาก stdin
พารามิเตอร์:
เกลือ เกลือที่จะใช้อย่างน้อย 8 ตัว
-i ใช้ Argon2i (นี่คือค่าเริ่มต้น)
-d ใช้ Argon2d แทน Argon2i
-id ใช้ Argon2id แทน Argon2i
-t N กำหนดจำนวนการวนซ้ำเป็น N (ค่าเริ่มต้น = 3)
-m N ตั้งค่าการใช้หน่วยความจำของ 2^N KiB (ค่าเริ่มต้น 12)
-k N ตั้งค่าการใช้หน่วยความจำของ N KiB (ค่าเริ่มต้น 4096)
-p N ตั้งค่าความขนานเป็น N เธรด (ค่าเริ่มต้น 1)
-l N ตั้งค่าความยาวเอาต์พุตแฮชเป็น N ไบต์ (ค่าเริ่มต้น 32)
-e เอาต์พุตแฮชที่เข้ารหัสเท่านั้น
-r ส่งออกเฉพาะไบต์ดิบของแฮช
-v (10|13) เวอร์ชัน Argon2 (ค่าเริ่มต้นเป็นเวอร์ชันล่าสุด ปัจจุบันคือ 13)
-h พิมพ์การใช้งาน argon2
ฉันลองใช้ \x0A
สัญกรณ์ไม่ทำงาน ดังที่เห็นด้านล่าง \x0A
และ \x0a
สร้างแฮชที่แตกต่างกัน
# cat /tmp/keyfile | argon2 "\x0A\x0B\x0C\x0D\x1A\x1B\x1C\x1D" -id -t 4 -m 5 -p 1 -l 64 -r
6694bba14b3955a77beea3fb4c6018bd86953627949df2bc7e57bc7597519d2fed64a24380757bf6d963115656ce0ddcf59b2504b736036c239101c3e069849b
# cat /tmp/keyfile | argon2 "\x0a\x0B\x0C\x0D\x1A\x1B\x1C\x1D" -id -t 4 -m 5 -p 1 -l 64 -r
3e97b90537a9ecdceaee638aee2b122c89a2cc3e03630bac31cf72c9b7e3e0565a4c3945eb7fc2a04922bb1453cc5fdafc3303327097749b0ceb87111cd1349c
สำหรับข้อมูลเพิ่มเติม ฉันต้องการใช้ Argon เพื่อจำลอง PBKDF ของ LUKS