ToolDeck

เครื่องสร้างแฮช SHA-384

สร้างแฮช SHA-384 จากข้อความใด ๆ

ข้อความอินพุต

ประมวลผลในเครื่อง · ปลอดภัยในการวางข้อมูลลับ

แฮช SHA-384

แฮช SHA-384 จะแสดงที่นี่…

SHA-384 Hashing คืออะไร?

SHA-384 เป็นฟังก์ชันแฮชเข้ารหัสลับที่กำหนดไว้ใน NIST FIPS 180-4 ในฐานะส่วนหนึ่งของตระกูล SHA-2 รับอินพุตที่มีความยาวเท่าใดก็ได้และสร้าง message digest ขนาดคงที่ 384 บิต (48 ไบต์) ซึ่งโดยปกติแสดงเป็นสตริงตัวอักษรฐานสิบหก 96 ตัว SHA-384 ถูกใช้งานอย่างแพร่หลายใน TLS cipher suite, ลายเซ็นใบรับรองดิจิทัล และระบบของหน่วยงานรัฐบาลที่ต้องการความทนทานต่อ collision สูงกว่าที่ SHA-256 ให้ได้

ภายใน SHA-384 เป็นตัวแปรที่ถูกตัดทอนของ SHA-512 ใช้ขนาดบล็อก 1024 บิต, 80 รอบการบีบอัด และการคำนวณแบบเวิร์ด 64 บิตเหมือนกับ SHA-512 แต่เริ่มต้นด้วยชุดค่าแฮชเริ่มต้นที่แตกต่างกัน (ได้จากจำนวนเฉพาะที่ 9 ถึง 16) และส่งออกเพียง 384 บิตแรกของสถานะสุดท้าย การตัดทอนนี้ทำให้ SHA-384 สร้าง digest ที่แตกต่างจาก SHA-512 สำหรับอินพุตเดียวกัน แม้จะใช้อัลกอริทึมหลักเดียวกัน

เนื่องจาก SHA-384 ทำงานบนเวิร์ด 64 บิต จึงทำงานเร็วกว่า SHA-256 บนโปรเซสเซอร์ 64 บิตสมัยใหม่ในขณะที่ให้ digest ขนาดใหญ่กว่า ทำให้เป็นตัวเลือกกลางที่ใช้งานได้จริง: แข็งแกร่งกว่า SHA-256 (ความทนทานต่อ collision 192 บิต เทียบกับ 128 บิต) โดยไม่มีภาระในการจัดเก็บของเอาต์พุต hex 128 ตัวของ SHA-512 SHA-384 เป็นแฮชเริ่มต้นสำหรับลายเซ็นการยืนยันใบรับรอง TLS 1.3 และเป็นข้อกำหนดของ NSA Suite B (ปัจจุบันคือ CNSA) สำหรับข้อมูลลับสุดยอด

ทำไมต้องใช้เครื่องสร้าง SHA-384 ออนไลน์?

การสร้างแฮช SHA-384 มักต้องใช้คำสั่ง terminal หรือเขียนโค้ด เครื่องมือในเบราว์เซอร์นี้ให้คุณคำนวณ SHA-384 digest ได้ทันทีโดยไม่ต้องติดตั้งอะไรหรือส่งข้อมูลไปยังเซิร์ฟเวอร์ ไม่ว่าจะสร้างแฮช SRI สำหรับทรัพยากร CDN, ตรวจสอบ checksum ไฟล์ หรือเปรียบเทียบผลลัพธ์ SHA-384 กับ SHA-256 สำหรับอินพุตเดียวกัน เครื่องมือนี้ให้วิธีทำงานกับ SHA-384 digest ได้ทันทีโดยไม่ต้องพึ่งพา dependency ใด ๆ ในเบราว์เซอร์สมัยใหม่

คำนวณในเบราว์เซอร์ทันที
วางข้อความแล้วรับแฮช SHA-384 ขนาด 96 ตัวอักษรทันที Web Crypto API จัดการการคำนวณโดยตรงในเบราว์เซอร์ของคุณโดยไม่ต้องพึ่งพา dependency ภายนอก
🔒
ให้ความเป็นส่วนตัวก่อน
อินพุตของคุณไม่ออกจากอุปกรณ์เลย การแฮชทั้งหมดทำงานในเครื่องผ่าน Web Crypto API ไม่มีคำขอไปยังเซิร์ฟเวอร์ ไม่มีการบันทึก ไม่มีการเก็บข้อมูล
📋
รูปแบบผลลัพธ์พร้อมคัดลอก
สลับระหว่างเอาต์พุต hex ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ด้วยคลิกเดียว คัดลอกแฮชไปยังคลิปบอร์ดเพื่อใช้ในไฟล์ checksum, การกำหนดค่า หรือเอกสาร
🔍
ไม่ต้องสมัครสมาชิกหรือติดตั้ง
ทำงานได้ในเบราว์เซอร์สมัยใหม่ทุกตัว — Chrome, Firefox, Safari, Edge ไม่ต้องสมัครสมาชิก ไม่ต้องติดตั้งส่วนขยาย ไม่ต้องตั้งค่า CLI

กรณีการใช้งานเครื่องสร้างแฮช SHA-384

การยืนยันใบรับรอง TLS
TLS 1.2 และ 1.3 ใช้ SHA-384 ในการยืนยันลายเซ็นใบรับรองและ PRF (pseudorandom function) คำนวณ SHA-384 digest เพื่อตรวจสอบ fingerprint ใบรับรองกับค่าที่คาดไว้ระหว่างการตรวจสอบด้านความปลอดภัย
Subresource Integrity (SRI)
สร้างแฮช SHA-384 สำหรับไฟล์ JavaScript และ CSS ที่โหลดจาก CDN attribute integrity ในแท็ก script และ link ใช้ SHA-384 ที่เข้ารหัสด้วย Base64 เป็นค่าเริ่มต้นในเครื่องสร้าง SRI ส่วนใหญ่
ระบบของหน่วยงานรัฐบาลและการปฏิบัติตามข้อกำหนด
CNSA (เดิมคือ NSA Suite B) กำหนดให้ใช้ SHA-384 เพื่อปกป้องข้อมูลลับ สร้างแฮชเพื่อตรวจสอบความสมบูรณ์ของเอกสารในกระบวนการปฏิบัติตามข้อกำหนดที่ต้องใช้อัลกอริทึม FIPS 180-4
การตรวจสอบความสมบูรณ์ของไฟล์
คำนวณ checksum SHA-384 สำหรับภาพ firmware, ชุดซอฟต์แวร์ หรือไฟล์การกำหนดค่า เปรียบเทียบแฮชก่อนและหลังการถ่ายโอนเพื่อตรวจหาการเสียหายหรือการแก้ไขที่ไม่ได้รับอนุญาต
การสร้างคีย์ HMAC-SHA384
SHA-384 จับคู่กับ HMAC สำหรับการยืนยันตัวตนของข้อความในโปรโตคอลอย่าง IPsec และ TLS ใช้เครื่องมือนี้ตรวจสอบผลลัพธ์แฮชที่คาดไว้เมื่อดีบักการใช้งาน HMAC-SHA384
แบบฝึกหัดการเข้ารหัสลับในวิชาการ
นักศึกษาที่ศึกษาตระกูล SHA-2 สามารถเปรียบเทียบผลลัพธ์ SHA-384 กับ SHA-256 และ SHA-512 สำหรับอินพุตเดียวกัน เพื่อสังเกตว่า initial vector ที่แตกต่างกันและการตัดทอนสร้าง digest ที่แตกต่างกันอย่างไร

การเปรียบเทียบตัวแปรในตระกูล SHA-2

SHA-384 อยู่ในตระกูล SHA-2 ร่วมกับตัวแปรอื่น ๆ อีกหลายตัว ตารางด้านล่างแสดงความแตกต่างในด้านขนาด digest, ความยาวเอาต์พุต และการใช้งานทั่วไป

ตัวแปรขนาด Digestความยาว Hexขนาดไบต์เหมาะสำหรับ
SHA-384384 bits96 hex chars48 bytesTLS 1.2/1.3, government/CNSA, certificate signatures
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-384 เทียบกับ SHA-256, SHA-512 และ SHA-3-384

การเลือกระหว่าง SHA-384 กับอัลกอริทึมแฮชอื่น ๆ ขึ้นอยู่กับข้อกำหนดด้านความปลอดภัย ข้อจำกัดของแพลตฟอร์ม และความต้องการด้านประสิทธิภาพ การเปรียบเทียบนี้ครอบคลุมคุณสมบัติที่เกี่ยวข้องมากที่สุด

คุณสมบัติSHA-384SHA-256SHA-512SHA-3-384
Digest size384 bits (96 hex)256 bits (64 hex)512 bits (128 hex)384 bits (96 hex)
Internal state512 bits (8x64-bit)256 bits (8x32-bit)512 bits (8x64-bit)1600 bits (sponge)
Block size1024 bits512 bits1024 bits832 bits
Rounds80648024
Word size64 bits32 bits64 bitsN/A (sponge)
Length extensionResistantVulnerableVulnerableResistant
64-bit performanceFast (native ops)Slower (32-bit ops)Fast (native ops)Moderate
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo

SHA-384 ทำงานภายในอย่างไร

SHA-384 ประมวลผลอินพุตผ่านโครงสร้าง Merkle–Damgård แบบเดียวกับ SHA-512 อินพุตถูกเพิ่ม padding ให้เป็นจำนวนเท่าของ 1024 บิต แบ่งเป็นบล็อก และแต่ละบล็อกถูกประมวลผลผ่าน 80 รอบของการผสมโดยใช้ฟังก์ชัน Ch, Maj และ Sigma สองตัวพร้อมการคำนวณแบบเวิร์ด 64 บิต ความแตกต่างหลักจาก SHA-512 คือค่าแฮชเริ่มต้น: SHA-384 ใช้ค่าที่ได้จากส่วนทศนิยมของรากที่สองของจำนวนเฉพาะที่ 9 ถึง 16 ในขณะที่ SHA-512 ใช้จำนวนเฉพาะ 8 ตัวแรก หลังจากประมวลผลบล็อกทั้งหมดแล้ว SHA-384 ตัดสถานะภายใน 512 บิตเหลือเพียง 384 บิตแรก

Input: "hello world"
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
(384 bits = 48 bytes = 96 hex characters)

การตัดทอนและการกำหนดค่าเริ่มต้นที่แตกต่างกันทำให้ SHA-384 และ SHA-512 สร้าง digest ที่แตกต่างกันเสมอสำหรับอินพุตเดียวกัน ซึ่งยังทำให้ SHA-384 ทนทานต่อ length-extension attack โดยธรรมชาติ ต่างจาก SHA-256 และ SHA-512 ที่ผู้โจมตีสามารถต่อข้อมูลและคำนวณแฮชที่ถูกต้องโดยไม่รู้ข้อความเดิม

ตัวอย่างโค้ด SHA-384

SHA-384 รองรับโดยตรงในทุกภาษาและ runtime หลัก ตัวอย่างด้านล่างใช้งานได้จริงและสามารถคัดลอกไปใช้ในโปรเจกต์ของคุณได้ทันที

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha384(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-384', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha384('hello world')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha384').update('hello world').digest('hex')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"
Python
import hashlib

# Basic SHA-384 hash
result = hashlib.sha384(b'hello world').hexdigest()
print(result)
# → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

# Hash a string with Unicode characters
text = 'café ☕'
hashlib.sha384(text.encode('utf-8')).hexdigest()
# → 96-character hex string

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha384()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    // SHA-384 lives in the crypto/sha512 package
    hash := sha512.Sum384(data)
    fmt.Printf("%x\n", hash)
    // → fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
}
CLI (Linux / macOS)
# Using sha384sum (Linux)
echo -n "hello world" | sha384sum
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# macOS
echo -n "hello world" | shasum -a 384
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha384
# → SHA2-384(stdin)= fdbd8e75a67f29f701a4e040385e2e23986303ea...

# Verify a file checksum
sha384sum myfile.bin > checksum.txt
sha384sum -c checksum.txt
# → myfile.bin: OK

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

SHA-384 กับ SHA-512 แตกต่างกันอย่างไร?
SHA-384 และ SHA-512 ใช้ฟังก์ชันการบีบอัด, ขนาดบล็อก (1024 บิต) และจำนวนรอบ (80) เหมือนกัน ความแตกต่างมีสองด้าน: SHA-384 เริ่มต้นด้วยค่าแฮชเริ่มต้นที่แตกต่างกัน (ได้จากจำนวนเฉพาะ 9–16 แทน 1–8) และส่งออกเพียง 384 บิตแรกของสถานะภายใน 512 บิต ซึ่งหมายความว่าทั้งสองจะสร้าง digest ที่แตกต่างกันเสมอสำหรับอินพุตเดียวกัน
SHA-384 ปลอดภัยกว่า SHA-256 หรือไม่?
SHA-384 ให้ความทนทานต่อ collision 192 บิต เทียบกับ 128 บิตของ SHA-256 โดยอิงจากขอบเขต birthday attack ที่ครึ่งหนึ่งของความยาว digest สำหรับ preimage resistance SHA-384 ให้ 384 บิต เทียบกับ 256 บิต ในทางปฏิบัติทั้งสองถือว่าปลอดภัยสำหรับรูปแบบภัยคุกคามปัจจุบัน แต่ SHA-384 ให้ระยะห่างด้านความปลอดภัยที่มากกว่าสำหรับการปกป้องข้อมูลระยะยาว และเป็นข้อกำหนดของมาตรฐานของรัฐบาลบางฉบับ
ทำไม TLS ถึงใช้ SHA-384 แทน SHA-512?
TLS cipher suite เช่น TLS_AES_256_GCM_SHA384 ใช้ SHA-384 เพราะให้ความทนทานต่อ collision เพียงพอ (192 บิต) ในขณะที่ขนาด digest ยังจัดการได้ เอาต์พุต hex 128 ตัวของ SHA-512 เพิ่มภาระในข้อความ handshake และห่วงโซ่ใบรับรองโดยไม่ได้ประโยชน์ด้านความปลอดภัยสมส่วนสำหรับกรณีการใช้งาน TLS นอกจากนี้ SHA-384 ยังสอดคล้องกับระดับความปลอดภัย 192 บิตที่ AES-256 มุ่งหมาย
SHA-384 ถูกใช้ใน Subresource Integrity (SRI) อย่างไร?
แท็ก SRI ใน HTML ใช้รูปแบบ integrity="sha384-{base64hash}" เพื่อยืนยันว่าสคริปต์และ stylesheet ที่ดึงจาก CDN ไม่ถูกแก้ไข เบราว์เซอร์คำนวณแฮช SHA-384 ของไฟล์ที่ดาวน์โหลดและเปรียบเทียบกับค่าที่คาดไว้ หากไม่ตรงกัน ทรัพยากรนั้นจะถูกบล็อก SHA-384 เป็นอัลกอริทึมที่ใช้บ่อยที่สุดสำหรับ SRI เพราะสมดุลระหว่างความปลอดภัยและขนาด digest
SHA-384 สามารถย้อนกลับเพื่อกู้คืนอินพุตเดิมได้หรือไม่?
ไม่ได้ SHA-384 เป็นฟังก์ชันทางเดียวโดยการออกแบบ มีความทนทานต่อ preimage 384 บิต หมายความว่าไม่มีวิธีที่ทราบในการกู้คืนอินพุตจาก SHA-384 digest ที่เร็วกว่าการค้นหาแบบ brute-force ตลอด 2^384 ความเป็นไปได้ อย่างไรก็ตาม อินพุตสั้นหรือคาดเดาได้ (เช่น รหัสผ่านทั่วไป) สามารถพบได้โดยใช้ rainbow table ที่คำนวณล่วงหน้าหรือ dictionary attack ซึ่งเป็นเหตุผลที่รหัสผ่านควรแฮชด้วยอัลกอริทึมเฉพาะทาง เช่น bcrypt หรือ Argon2
SHA-384 รองรับใน Web Crypto API หรือไม่?
ใช่ เบราว์เซอร์สมัยใหม่ทุกตัวใช้งาน SHA-384 ผ่าน crypto.subtle.digest('SHA-384', data) ซึ่งเป็น API เดียวกับที่เครื่องมือนี้ใช้ นอกจากนี้ยังพร้อมใช้งานใน Node.js 18+ และ Deno Web Crypto API คืนค่า ArrayBuffer ที่คุณแปลงเป็นสตริง hex โดยการแมปแต่ละไบต์เป็นการแสดงฐานสิบหกสองตัวอักษร
ควรใช้ SHA-384 แทน SHA-256 เมื่อใด?
ใช้ SHA-384 เมื่อนโยบายความปลอดภัยของคุณต้องการความทนทานต่อ collision มากกว่า 128 บิต, เมื่อต้องการปฏิบัติตาม CNSA/Suite B สำหรับข้อมูลลับ หรือเมื่อใช้ AES-256 อยู่แล้วและต้องการระดับความปลอดภัย 192 บิตที่สอดคล้องกัน SHA-384 ยังทำงานเร็วกว่า SHA-256 บนโปรเซสเซอร์ 64 บิตเพราะใช้การดำเนินการเวิร์ด 64 บิตโดยตรง สำหรับเว็บแอปพลิเคชันส่วนใหญ่และการแฮชทั่วไป SHA-256 ยังคงเป็นตัวเลือกมาตรฐาน