Toolonit
  1. หน้าแรก
  2. เข้ารหัสลับ
  3. เข้ารหัส / ถอดรหัส
  4. Blowfish

เข้ารหัสและถอดรหัส Blowfish

เข้ารหัสและถอดรหัสข้อความด้วย Blowfish เลือกความยาวคีย์ได้ตามต้องการ

Blowfish ถือว่าอ่อนแอตามมาตรฐานปัจจุบัน ใช้เพื่ออ่านข้อมูลเก่า ส่วนข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20 ไปที่ AES

เข้ารหัสด้วย

ต้องใช้รหัสผ่านนี้อีกครั้งเพื่อถอดรหัส สิ่งที่คุณพิมพ์จะไม่ออกจากหน้านี้

จำนวนรอบ PBKDF2

ค่าเริ่มต้นของ OpenSSL คือ 10,000 ใช้ตัวเลขใดก็ได้ ยิ่งมากยิ่งทำให้เดารหัสผ่านได้ช้าลง และการถอดรหัสต้องใช้จำนวนเดียวกัน

โหมด

ตัวเลือกปกติเมื่อใช้กับ OpenSSL ต้องใช้ IV และเติม padding ให้เต็มบล็อก

ขนาดคีย์
ผลลัพธ์เป็น
ทำแบบเดียวกันด้วย OpenSSL
openssl enc -bf-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default

OpenSSL จะถามรหัสผ่าน ให้วางข้อความลงไป หรือเพิ่มไฟล์ -in และ -out

Blowfish คือ block cipher ของ Bruce Schneier ที่ออกในปี 1993 มีบล็อกขนาด 8 ไบต์และใช้คีย์ยาวเท่าใดก็ได้ตั้งแต่ 32 ถึง 448 บิต เคยเป็นทางเลือกฟรียอดนิยมแทน DES และยังพบได้ในแอปพลิเคชัน รูปแบบไฟล์ และไฟล์การตั้งค่ารุ่นเก่า หน้านี้เข้ารหัสและถอดรหัสข้อความด้วย Blowfish ในโหมด CBC เป็นค่าเริ่มต้น หรือ ECB, CFB, OFB หรือ CTR ด้วยความยาวคีย์ใดก็ได้ทีละ 8 บิต ค่าเริ่มต้นคือ 128 บิต ซึ่งเป็นขนาดคีย์ของ bf-cbc ใน OpenSSL โดยใช้รหัสผ่านในรูปแบบ openssl enc -pbkdf2 หรือคีย์และ IV แบบ hex ของคุณเอง สำหรับข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20 ทุกอย่างทำงานในเบราว์เซอร์ ข้อความและคีย์จึงไม่ออกจากอุปกรณ์ของคุณ ใช้ฟรีและไม่ต้องสมัครสมาชิก

วิธีเข้ารหัสหรือถอดรหัสข้อความด้วย Blowfish

  1. เลือก “เข้ารหัส” หรือ “ถอดรหัส” แล้วพิมพ์ข้อความที่จะเข้ารหัส หรือวางข้อความ Base64 หรือ hex ที่จะถอดรหัส ระบบจะตรวจรูปแบบให้อัตโนมัติ
  2. ใส่รหัสผ่าน หรือสลับไปที่ “คีย์และ IV (hex)” แล้วใส่คีย์และ IV 16 หลัก (ECB ไม่มี IV) คีย์ที่วางจะกำหนดความยาวคีย์ให้เอง
  3. เลือกความยาวคีย์ (128 บิต เว้นแต่ข้อมูลสร้างด้วยค่าอื่น) และโหมด ซึ่งส่วนใหญ่คือ CBC หรือ ECB เปิด “ไม่ใช้ padding” เฉพาะเมื่อข้อมูลถูกเข้ารหัสโดยไม่มี padding แบบ PKCS#7
  4. คัดลอกหรือดาวน์โหลดผลลัพธ์ หรือกด “สลับ” เพื่อย้ายผลลัพธ์ไปเป็นอินพุตและกลับทิศทาง

ความสามารถ

  • ความยาวคีย์ใดก็ได้ตั้งแต่ 32 ถึง 448 บิตทีละ 8 บิต โดยเลือก 64, 128, 256 และ 448 ได้ในคลิกเดียว
  • โหมด CBC, ECB, CFB, OFB และ CTR พร้อม padding แบบ PKCS#7 หรือไม่ใช้ padding
  • โหมดรหัสผ่านในรูปแบบ openssl enc -pbkdf2 ค่าเริ่มต้น 128 บิตตรงกับที่ bf-cbc ของ OpenSSL ใช้
  • โหมดคีย์และ IV: คีย์ hex ยาว 8 ถึง 112 หลักและ IV 16 หลัก
  • คำสั่ง openssl สำหรับคีย์ 128 บิตในทุกโหมดยกเว้น CTR โดยใช้ legacy provider ของ OpenSSL 3
  • อินพุตและผลลัพธ์เป็น Base64 หรือ hex คัดลอก ดาวน์โหลด หรือ “สลับ” ผลลัพธ์ได้

เป็นส่วนตัวหรือไม่

ใช่ Blowfish ทำงานด้วย WebAssembly ภายในเบราว์เซอร์ของคุณ ข้อความ รหัสผ่าน และคีย์ไม่เคยถูกอัปโหลดหรือบันทึก หน้านี้เก็บไว้เพียงระหว่างที่เปิดอยู่เท่านั้น

คำถามที่พบบ่อย

Blowfish ยังปลอดภัยอยู่ไหม

ไม่ปลอดภัยสำหรับข้อมูลใหม่ ยังไม่มีการโจมตีที่ใช้ได้จริงกับตัว Blowfish เอง แต่บล็อกขนาด 8 ไบต์ทำให้ข้อมูลปริมาณมากภายใต้คีย์เดียวเสี่ยงต่อการโจมตี (Sweet32) และผู้ออกแบบเองก็แนะนำให้ใช้ cipher ที่ใหม่กว่าแทน ใช้ Blowfish เพื่ออ่านข้อมูลที่มีอยู่ ส่วนข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20

ถอดรหัสด้วย OpenSSL ได้ไหม

ได้ เมื่อใช้คีย์ 128 บิตซึ่งเป็นค่าเริ่มต้น: echo 'U2FsdGVkX1…' | openssl enc -d -bf-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default ส่วน -bf-ecb, -bf-cfb และ -bf-ofb ใช้กับโหมดอื่น และในโหมดคีย์และ IV ให้ใช้ -K <hex 32 หลัก> -iv <hex 16 หลัก> แทน -pbkdf2 -iter OpenSSL ไม่มี Blowfish โหมด CTR และ openssl enc ใช้คีย์ Blowfish 128 บิตเสมอ ความยาวคีย์อื่นจึงอ่านด้วย OpenSSL ไม่ได้

ควรเลือกความยาวคีย์เท่าไร

เลือกความยาวที่ใช้ตอนสร้างข้อมูล หากไม่ทราบให้ใช้ 128 บิต เพราะเป็นค่าที่ OpenSSL ใช้ ในโหมดรหัสผ่าน หน้านี้สร้างคีย์ตามความยาวที่เลือกจากรหัสผ่าน ความยาวที่ต่างกันจึงได้คีย์ที่ต่างกัน ส่วนในโหมดคีย์และ IV ความยาวของคีย์ hex เองเป็นตัวกำหนด วางคีย์แล้วความยาวคีย์จะเปลี่ยนตาม

นี่คือ bcrypt หรือเปล่า

ไม่ใช่ bcrypt คือฟังก์ชันแฮชรหัสผ่านที่สร้างบนขั้นตอนตั้งค่าคีย์ของ Blowfish และแฮชถอดรหัสกลับไม่ได้ หน้านี้คือการเข้ารหัสด้วย Blowfish ซึ่งถอดกลับได้ด้วยรหัสผ่านหรือคีย์ หากต้องการแฮชหรือตรวจรหัสผ่าน ให้ใช้เครื่องมือ bcrypt

เครื่องมือที่เกี่ยวข้อง