ToolDeck

เครื่องสร้าง Hash SHA-256

สร้าง hash SHA-256 จากข้อความใด ๆ

ข้อความป้อนเข้า

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

Hash SHA-256

Hash SHA-256 จะแสดงที่นี่…

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

SHA-256 (Secure Hash Algorithm 256-bit) เป็นฟังก์ชันแฮชเข้ารหัสลับในตระกูล SHA-2 ที่ NIST เผยแพร่ในปี 2001 เป็นส่วนหนึ่งของ FIPS 180-2 (ปรับปรุงใน FIPS 180-4) ไม่ว่าอินพุตจะเป็นอะไร — อักขระเดี่ยว ไฟล์ขนาดหลายกิกะไบต์ หรือสตริงว่าง — SHA-256 จะสร้าง digest ขนาดคงที่ 256 บิต (32 ไบต์) ซึ่งแสดงในรูปแบบตัวอักษรฐานสิบหกจำนวน 64 ตัวตามธรรมเนียม SHA-256 เป็นฟังก์ชันแฮชที่ใช้งานแพร่หลายที่สุดในระบบที่ใช้งานจริงในปัจจุบัน ทั้งในห่วงโซ่ใบรับรอง TLS, proof-of-work ของ Bitcoin, Subresource Integrity (SRI) และกระบวนการลงนามโค้ด

SHA-256 เป็นฟังก์ชันทางเดียว: การคำนวณแฮชจากอินพุตทำได้รวดเร็ว (หลายร้อยเมกะไบต์ต่อวินาทีบนฮาร์ดแวร์สมัยใหม่) แต่การย้อนกลับกระบวนการ — ค้นหาอินพุตที่สร้างแฮชที่กำหนด — เป็นไปไม่ได้ในทางคำนวณ คุณสมบัตินี้เรียกว่า preimage resistance ทำให้ SHA-256 เหมาะสำหรับการแฮชรหัสผ่าน (เมื่อใช้ร่วมกับ salt และ key-stretching) ลายเซ็นดิจิทัล และการยืนยันความสมบูรณ์ของข้อมูล ต่างจาก MD5 และ SHA-1 ที่ยังไม่มีการพิสูจน์การโจมตีแบบ collision หรือ preimage ต่อ SHA-256 แบบเต็มรูปแบบ

ตระกูล SHA-2 ประกอบด้วยหกตัวแปร: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 และ SHA-512/256 SHA-256 ทำงานบนเวิร์ด 32 บิตด้วย 64 รอบต่อบล็อก ซึ่งเหมาะสมสำหรับโปรเซสเซอร์ 32 บิต SHA-512 ใช้เวิร์ด 64 บิตและ 80 รอบ ซึ่งอาจเร็วกว่าบนแพลตฟอร์ม 64 บิต สำหรับแอปพลิเคชันส่วนใหญ่ที่ digest ขนาด 256 บิตเพียงพอ SHA-256 ยังคงเป็นคำแนะนำเริ่มต้นจาก NIST, IETF และ CA/Browser Forum

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

การสร้าง hash SHA-256 มักต้องใช้คำสั่ง terminal หรือเขียนโค้ดสองสามบรรทัด เครื่องมือในเบราว์เซอร์นี้ให้คุณคำนวณ SHA-256 digest ได้โดยไม่ต้องติดตั้งอะไร สลับบริบท หรือเขียนสคริปต์

แฮชทันทีในเบราว์เซอร์ของคุณ
วางหรือพิมพ์ข้อความใด ๆ แล้วรับ SHA-256 digest ทันที Web Crypto API จัดการการคำนวณโดยตรง — ไม่มีภาระจาก JavaScript library
🔒
ประมวลผลโดยให้ความเป็นส่วนตัวก่อน
อินพุตของคุณไม่ออกจากอุปกรณ์เลย การแฮชทั้งหมดทำงานในเครื่องผ่าน Web Crypto API ที่ติดตั้งในเบราว์เซอร์ ไม่มีข้อมูลส่งไปยังเซิร์ฟเวอร์ใด ๆ
📋
รูปแบบผลลัพธ์พร้อมคัดลอก
รับ hash ในรูปแบบ hex ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ด้วยคลิกเดียว ใช้ประโยชน์ได้เมื่อตรวจสอบ checksum จาก package manager, CI pipeline หรือเอกสาร
🔍
ตรวจสอบค่าอ้างอิง
ยืนยัน SHA-256 digest จากหน้าดาวน์โหลด, SBOM manifest หรือบันทึกการตรวจสอบได้อย่างรวดเร็ว โดยไม่ต้องเปิด terminal หรือเขียนโค้ดชั่วคราว

กรณีการใช้งาน SHA-256

นักพัฒนา Frontend — Subresource Integrity
คำนวณ hash SHA-256 ของสคริปต์หรือ stylesheet ที่โฮสต์บน CDN เพื่อใส่ใน integrity attribute ของแท็ก script และ link ช่วยป้องกันการแทรกแซงในห่วงโซ่อุปทาน
Backend Engineer — การลงนาม API Request
API จำนวนมาก (AWS Signature V4, Stripe webhooks) ต้องการ hash SHA-256 ของ payload ของ request ใช้เครื่องมือนี้คำนวณ hash อ้างอิงระหว่างการพัฒนาและดีบัก
DevOps — การยืนยัน Artifact
ยืนยัน checksum SHA-256 ของไบนารีที่ดาวน์โหลด, Docker base image หรือ Terraform provider plugin ก่อน deploy ไปยัง production infrastructure
QA Engineer — การตรวจสอบ Test Vector
เปรียบเทียบผลลัพธ์ SHA-256 กับ NIST test vector (ตัวอย่างจาก FIPS 180-4) เพื่อยืนยันว่าการใช้งาน hashing ของคุณจัดการ edge case ได้อย่างถูกต้อง
Data Engineer — การสร้าง Fingerprint ระดับแถว
แฮช composite key หรือฟิลด์ PII ด้วย SHA-256 เพื่อสร้าง fingerprint ที่กำหนดได้และไม่สามารถย้อนกลับได้ สำหรับการกรองข้อมูลซ้ำหรือการทำ pseudonymization ใน data pipeline
นักศึกษา — งานวิชาการเข้ารหัสลับ
ทดลองกับ SHA-256 เพื่อสังเกต avalanche effect: เปลี่ยนอักขระเดียวในอินพุตแล้วดูว่าผลลัพธ์ 64 อักขระทั้งหมดเปลี่ยนแปลงอย่างคาดเดาไม่ได้อย่างไร

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

SHA-256 อยู่ในตระกูล SHA-2 ที่กำหนดไว้ใน FIPS 180-4 แต่ละตัวแปรมีการแลกเปลี่ยนระหว่างขนาด digest, คุณลักษณะด้านประสิทธิภาพ และระยะห่างด้านความปลอดภัย ตารางด้านล่างเปรียบเทียบตัวแปร SHA-2 ทั้งหมดที่คุณน่าจะพบ

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

SHA-256 เทียบกับ SHA-1, MD5 และ SHA-3

การเลือกอัลกอริทึม hash ที่เหมาะสมขึ้นอยู่กับข้อกำหนดด้านความปลอดภัยและข้อจำกัดด้านความเข้ากันได้ SHA-256 อยู่จุดกึ่งกลางที่ใช้งานได้จริง: ปลอดภัย รองรับได้ทั่วไป (รวมถึง Web Crypto API) และเร็วพอสำหรับงานส่วนใหญ่ ตารางเปรียบเทียบด้านล่างครอบคลุมคุณสมบัติที่สำคัญที่สุดในการเลือกฟังก์ชันแฮช

คุณสมบัติSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

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

SHA-256 ประมวลผลอินพุตเป็นบล็อกขนาด 512 บิต (64 ไบต์) ผ่านโครงสร้าง Merkle–Damgård อัลกอริทึมเริ่มต้นด้วย state word ขนาด 32 บิตจำนวนแปดตัว (H0–H7) ที่ได้จากส่วนทศนิยมของรากที่สองของจำนวนเฉพาะแปดตัวแรก แต่ละบล็อกผ่าน 64 รอบของการผสม ซึ่งใช้การดำเนินการระดับบิต (AND, XOR, NOT, right-rotate, right-shift) และค่าคงที่ 64 รอบที่ได้จากรากที่สามของจำนวนเฉพาะ 64 ตัวแรก

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
ขั้นตอนคำอธิบาย
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

avalanche effect ทำให้การพลิกบิตเดียวในอินพุตเปลี่ยนประมาณ 50% ของบิตในผลลัพธ์ คุณสมบัตินี้รวมกับความทนทานต่อ collision ที่ 2^128 คือเหตุผลที่ SHA-256 ยังคงเป็นคำแนะนำพื้นฐานสำหรับแอปพลิเคชันที่ต้องการความปลอดภัยในปี 2026

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

SHA-256 พร้อมใช้งานโดยตรงในทุกภาษาและ runtime หลัก Web Crypto API รองรับในเบราว์เซอร์โดยไม่ต้องใช้ library ใด ตัวอย่างด้านล่างแสดงรูปแบบการใช้งานจริง รวมถึงการจัดการอินพุต Unicode และการแฮชไฟล์

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

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

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

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

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

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

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

SHA-256 ยังปลอดภัยอยู่หรือไม่?
ใช่ จนถึงปี 2026 ยังไม่พบการโจมตีแบบ collision, preimage หรือ second-preimage ที่ใช้งานได้จริงต่อ SHA-256 แบบเต็มรูปแบบ NIST, CA/Browser Forum และ IETF ยังคงแนะนำ SHA-256 สำหรับใบรับรอง TLS, การลงนามโค้ด และลายเซ็นดิจิทัล ความทนทานต่อ collision ในทางทฤษฎีอยู่ที่ 2^128 การดำเนินการ ซึ่งเกินขีดจำกัดการคำนวณในปัจจุบันมาก
SHA-256 กับ SHA-2 ต่างกันอย่างไร?
SHA-2 เป็นชื่อตระกูลของฟังก์ชันแฮชหกตัว: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 และ SHA-512/256 SHA-256 เป็นสมาชิกที่ใช้บ่อยที่สุด เมื่อเอกสารระบุว่า "ใช้ SHA-2" มักหมายถึง SHA-256 โดยเฉพาะ เว้นแต่จะต้องการ digest ที่ยาวกว่า
SHA-256 สามารถย้อนกลับหรือถอดรหัสได้หรือไม่?
ไม่ได้ SHA-256 เป็นฟังก์ชันแฮชทางเดียว ไม่ใช่การเข้ารหัส ไม่มีคีย์และไม่มีกระบวนการถอดรหัส วิธีเดียวที่จะค้นหาอินพุตเดิมคือการโจมตีแบบ brute-force หรือ dictionary ซึ่งเป็นไปไม่ได้ในทางคำนวณสำหรับอินพุตที่ซับซ้อนเพียงพอ สำหรับอินพุตสั้นหรือคาดเดาได้ (เช่น รหัสผ่านทั่วไป) มี rainbow table คำนวณล่วงหน้าอยู่ ซึ่งเป็นเหตุผลที่การแฮชรหัสผ่านควรใช้ salt และ KDF เฉพาะทางเสมอ เช่น bcrypt หรือ Argon2
SHA-256 เปรียบกับ SHA-3 อย่างไร?
SHA-3 (Keccak, FIPS 202) ใช้โครงสร้างภายในที่แตกต่างกันโดยสิ้นเชิง (sponge construction) จาก SHA-256 (Merkle–Damgård) ทั้ง SHA-256 และ SHA-3-256 สร้าง digest ขนาด 256 บิตและมีความทนทานต่อ collision เทียบเท่ากัน SHA-3 ถูกออกแบบเป็นตัวสำรองในกรณีที่ SHA-2 ถูกทำลาย แต่ SHA-2 ยังคงไม่ถูกทำลาย SHA-256 มีการรองรับใน runtime ที่กว้างกว่า — โดยเฉพาะ Web Crypto API รองรับ SHA-256 แต่ไม่รองรับ SHA-3
SHA-256 เหมาะสำหรับการแฮชรหัสผ่านหรือไม่?
ไม่โดยตรง hash SHA-256 แบบ raw ของรหัสผ่านมีความเสี่ยงต่อการโจมตีแบบ brute-force และ rainbow table เพราะ SHA-256 ถูกออกแบบให้ทำงานเร็ว สำหรับการจัดเก็บรหัสผ่าน ให้ใช้ฟังก์ชัน key derivation เฉพาะทาง เช่น bcrypt, scrypt หรือ Argon2id ซึ่งเพิ่ม salt และ work factor ที่กำหนดค่าได้เพื่อชะลอการโจมตี
ทำไม Bitcoin ถึงใช้ SHA-256 สองครั้ง?
Bitcoin คำนวณ SHA-256(SHA-256(data)) (รู้จักในชื่อ hash256) สำหรับ block header และ transaction ID การใช้สองครั้งป้องกันการโจมตีแบบ length-extension ซึ่งผู้โจมตีสามารถต่อข้อมูลเข้ากับข้อความและคำนวณ hash ที่ถูกต้องโดยไม่รู้อินพุตเดิม นี่เป็นคุณสมบัติของแฮช Merkle–Damgård ที่ SHA-256 แบบผ่านครั้งเดียวไม่สามารถป้องกันได้
Subresource Integrity (SRI) คืออะไร และ SHA-256 เกี่ยวข้องอย่างไร?
SRI เป็นข้อกำหนดของ W3C ที่ให้เบราว์เซอร์ยืนยันว่าทรัพยากรที่ดึงมา (สคริปต์, stylesheet) ไม่ถูกแก้ไข คุณเพิ่ม integrity attribute ที่ประกอบด้วย hash SHA-256 (หรือ SHA-384/SHA-512) ที่เข้ารหัสด้วย Base64 ของเนื้อหาไฟล์ที่คาดไว้ เบราว์เซอร์คำนวณ hash ของไฟล์ที่ดาวน์โหลดและปฏิเสธการรันหาก hash ไม่ตรงกัน SHA-256 เป็นอัลกอริทึมขั้นต่ำที่ SRI รองรับ