ToolDeck

تولیدکننده هش SHA-512

تولید هش SHA-512 از هر متنی

متن ورودی

به‌صورت محلی اجرا می‌شود · جای‌گذاری اسرار امن است

هش SHA-512

هش SHA-512 اینجا نمایش داده می‌شود…

هش SHA-512 چیست؟

SHA-512 یک تابع هش رمزنگاری است که در NIST FIPS 180-4 به عنوان بزرگ‌ترین عضو خانواده SHA-2 تعریف شده است. این تابع ورودی با طول دلخواه را می‌پذیرد و یک digest ثابت ۵۱۲ بیتی (۶۴ بایتی) تولید می‌کند که به صورت یک رشته هگزادسیمال ۱۲۸ کاراکتری نمایش داده می‌شود. SHA-512 در امضاهای دیجیتال (Ed25519 به صورت داخلی از SHA-512 استفاده می‌کند)، ساختارهای HMAC، تأیید یکپارچگی فایل و پروتکل‌های رمزنگاری که به حاشیه امنیتی گسترده‌تری نیاز دارند، به کار می‌رود.

SHA-512 روی بلوک‌های ۱۰۲۴ بیتی (۱۲۸ بایتی) با حساب کلمات ۶۴ بیتی و ۸۰ دور فشرده‌سازی عمل می‌کند. هشت مقدار اولیه هش آن از بخش‌های کسری جذر هشت عدد اول اول مشتق شده‌اند و ۸۰ ثابت دور آن از ریشه‌های مکعبی ۸۰ عدد اول اول به دست می‌آیند. از آنجا که از عملیات بومی ۶۴ بیتی استفاده می‌کند، SHA-512 روی پردازنده‌های مدرن ۶۴ بیتی اغلب سریع‌تر از SHA-256 اجرا می‌شود، علی‌رغم تولید digest طولانی‌تر.

SHA-384، SHA-512/224 و SHA-512/256 همگی نوع‌های کوتاه‌شده SHA-512 هستند که از همان ساختار داخلی استفاده می‌کنند اما مقادیر اولیه هش متفاوت دارند و بیت‌های کمتری خروجی می‌دهند. هنگامی که به حداکثر طول digest در خانواده SHA-2 نیاز دارید، یا زمانی که یک پروتکل به صراحت SHA-512 را الزامی می‌کند (مانند Ed25519 یا برخی طرح‌های استخراج کلید مبتنی بر HMAC)، SHA-512 انتخاب درست است. این تابع ۲۵۶ بیت مقاومت در برابر collision فراهم می‌کند که با SHA-3-512 برابری می‌کند و به مراتب از حد ۱۲۸ بیتی SHA-256 فراتر می‌رود.

چرا از تولیدکننده آنلاین SHA-512 استفاده کنیم؟

محاسبه هش SHA-512 معمولاً به یک دستور terminal یا چند خط کد نیاز دارد. این ابزار مبتنی بر مرورگر به شما امکان می‌دهد digest های SHA-512 را فوراً و بدون نصب نرم‌افزار، تغییر محیط، یا نوشتن اسکریپت‌های موقت تولید کنید.

محاسبه فوری در مرورگر
متن را paste کنید یا تایپ کنید و بلافاصله هش کامل SHA-512 با ۱۲۸ کاراکتر دریافت کنید. Web Crypto API محاسبه را به صورت بومی و بدون هیچ سربار کتابخانه JavaScript انجام می‌دهد.
🔒
هش‌سازی با اولویت حریم خصوصی
ورودی شما هرگز دستگاهتان را ترک نمی‌کند. تمام هش‌سازی به صورت محلی از طریق Web Crypto API داخلی مرورگر اجرا می‌شود. هیچ داده‌ای به هیچ سروری ارسال نمی‌شود، ثبت نمی‌شود یا ذخیره نمی‌شود.
📋
فرمت‌های خروجی آماده برای کپی
هش SHA-512 را با یک کلیک به صورت هگز حروف کوچک یا بزرگ دریافت کنید. هنگام تطابق checksum از مدیران بسته، مانیفست‌های SBOM یا مستندات امنیتی مفید است.
🔍
بدون حساب کاربری یا نصب
در هر مرورگر مدرن کار می‌کند — Chrome، Firefox، Safari، Edge. بدون ثبت‌نام، بدون افزونه، بدون راه‌اندازی CLI. صفحه را باز کنید و شروع به هش کنید.

موارد استفاده از تولیدکننده هش SHA-512

توسعه‌دهنده فرانت‌اند — اشکال‌زدایی امضای Ed25519
Ed25519 به صورت داخلی از SHA-512 برای استخراج کلید امضا و محاسبه digest پیام استفاده می‌کند. هش SHA-512 بارهای آزمایشی را تولید کنید تا مقادیر میانی را هنگام پیاده‌سازی یا اشکال‌زدایی جریان‌های امضای Ed25519 تأیید کنید.
مهندس بک‌اند — اعتبارسنجی HMAC-SHA512
سیستم‌های webhook و طرح‌های احراز هویت API (OAuth 1.0a، برخی درگاه‌های پرداخت) از HMAC-SHA512 برای امضای پیام استفاده می‌کنند. هش‌های SHA-512 مرجع را برای بررسی پیاده‌سازی HMAC خود در طول توسعه محاسبه کنید.
DevOps — تأیید آرتیفکت و باینری
checksum های SHA-512 فایل‌های باینری دانلود شده، تصاویر container یا firmware را قبل از استقرار در تولید تأیید کنید. بسیاری از توزیع‌های Linux checksum های SHA-512 را در کنار تصاویر ISO خود ارائه می‌دهند.
مهندس QA — اعتبارسنجی بردار آزمون FIPS 180-4
خروجی‌های SHA-512 را در برابر بردارهای آزمون NIST از برنامه اعتبارسنجی الگوریتم‌های رمزنگاری (CAVP) بررسی کنید تا تأیید کنید که پیاده‌سازی هش‌سازی شما padding و موارد مرزی را به درستی مدیریت می‌کند.
مهندس داده — اثرانگشت‌گذاری کلیدهای بزرگ
کلیدهای ترکیبی یا بارهای رکورد بزرگ را با SHA-512 هش کنید تا اثرانگشت‌های قطعی برای حذف تکرار در خطوط لوله داده ایجاد کنید. خروجی ۵۱۲ بیتی خطر تصادم را حتی در میان میلیاردها رکورد به حداقل می‌رساند.
دانشجو — بررسی اثر بهمنی
یک کاراکتر در ورودی را تغییر دهید و ببینید چگونه کل خروجی ۱۲۸ کاراکتری SHA-512 به شکل غیرقابل پیش‌بینی تغییر می‌کند. این خاصیت بهمنی را نشان می‌دهد که توابع هش را در رمزنگاری مفید می‌سازد.

مقایسه انواع خانواده SHA-2

SHA-512 به خانواده SHA-2 تعریف شده در FIPS 180-4 تعلق دارد. جدول زیر انواع SHA-2 که از معماری داخلی ۶۴ بیتی SHA-512 استفاده می‌کنند را در کنار SHA-256 برای مرجع مقایسه می‌کند.

نوعاندازه Digestطول هگزاندازه بایتبهترین کاربرد
SHA-256256 bits64 hex chars32 bytesTLS certificates, blockchain, JWTs, SRI
SHA-384384 bits96 hex chars48 bytesTLS 1.3 CertificateVerify, CNSA/Suite B
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC, Ed25519, file integrity
SHA-512/224224 bits56 hex chars28 bytesSHA-512 speed on 64-bit CPUs, 224-bit output
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-512 در برابر SHA-256 در برابر SHA-384 در برابر SHA-3-512

انتخاب الگوریتم هش مناسب به نیازهای امنیتی، محدودیت‌های عملکرد و مشخصات پروتکل شما بستگی دارد. SHA-512 گسترده‌ترین digest در خانواده SHA-2 را ارائه می‌دهد و روی سخت‌افزار ۶۴ بیتی اغلب سریع‌تر از SHA-256 است. این مقایسه ویژگی‌هایی را که هنگام انتخاب بین آن‌ها بیشترین اهمیت دارند پوشش می‌دهد.

ویژگیSHA-512SHA-256SHA-384SHA-3-512
Digest size512 bits (128 hex)256 bits (64 hex)384 bits (96 hex)512 bits (128 hex)
Block size1024 bits512 bits1024 bits1600 bits (sponge)
Word size64 bits32 bits64 bitsN/A (sponge)
Rounds80648024
Collision resistance2^256 operations2^128 operations2^192 operations2^256 operations
Security statusSecureSecureSecureSecure
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo
64-bit optimizedYesNo (32-bit words)YesYes
Primary use todayEd25519, HMAC, file checksumsTLS, blockchain, SRITLS 1.3, CNSABackup standard

نحوه عملکرد داخلی SHA-512

SHA-512 ورودی را از طریق ساختار Merkle–Damgård با بلوک‌های ۱۰۲۴ بیتی پردازش می‌کند. هشت کلمه وضعیت ۶۴ بیتی (H0–H7) را از بخش‌های کسری جذر هشت عدد اول اول مقداردهی اولیه می‌کند. هر بلوک از ۸۰ دور ترکیب عبور می‌کند که از عملیات بیتی (AND، XOR، NOT، چرخش راست، شیفت راست) روی کلمات ۶۴ بیتی به همراه ۸۰ ثابت دور از ریشه‌های مکعبی ۸۰ عدد اول اول استفاده می‌کند.

Input: "hello world"
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f
989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
(512 bits = 64 bytes = 128 hex characters)
مرحلهتوضیح
PaddingAppend a 1-bit, then zeros until the message length is 896 mod 1024. Append the original length as a 128-bit big-endian integer.
Block splittingDivide the padded message into 1024-bit (128-byte) blocks.
Message scheduleExpand each 16-word (64-bit) block into 80 words using sigma functions with right-rotate and right-shift operations on 64-bit values.
CompressionProcess 80 rounds per block using Ch, Maj, and two Sigma functions with 80 round constants derived from the cube roots of the first 80 primes.
OutputConcatenate the eight 64-bit state words (H0–H7) into a 512-bit (64-byte) digest, rendered as 128 hexadecimal characters.

اندازه کلمه ۶۴ بیتی گسترده‌تر، تفاوت اصلی با SHA-256 است. روی CPUهای ۶۴ بیتی، هر عملیات دو برابر بیت‌های بیشتری را در هر چرخه پردازش می‌کند، به همین دلیل است که SHA-512 در benchmark ها اغلب از SHA-256 پیشی می‌گیرد علی‌رغم اینکه ۸۰ دور به جای ۶۴ دور اجرا می‌کند. اثر بهمنی تضمین می‌کند که تغییر یک بیت ورودی تقریباً ۵۰٪ از تمام ۵۱۲ بیت خروجی را تغییر می‌دهد.

نمونه کدهای SHA-512

SHA-512 به صورت بومی در تمام زبان‌ها و runtime های اصلی پشتیبانی می‌شود. Web Crypto API آن را در مرورگرها بدون هیچ کتابخانه‌ای فراهم می‌کند. نمونه‌های زیر الگوهای رایج شامل مدیریت Unicode و هش‌سازی فایل را پوشش می‌دهند.

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

await sha512('hello world')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"

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

# Basic SHA-512 hash
result = hashlib.sha512(b'hello world').hexdigest()
print(result)
# → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee..."

# Hash a string with Unicode (encode to bytes first)
text = 'café ☕'
hashlib.sha512(text.encode('utf-8')).hexdigest()
# → 128-character hex string

# Hash a large file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha512()
    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")
    hash := sha512.Sum512(data)
    fmt.Printf("%x\n", hash)
    // → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f...
}
CLI (Linux / macOS)
# Using sha512sum (Linux) or shasum (macOS)
echo -n "hello world" | sha512sum
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# macOS
echo -n "hello world" | shasum -a 512
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# Verify a file checksum
echo "309ecc48...  myfile.bin" | sha512sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha512
# → SHA2-512(stdin)= 309ecc489c12d6eb4cc40f50c902f2b4...

سؤالات متداول

آیا SHA-512 از SHA-256 امن‌تر است؟
SHA-512 در مقابل collision، ۲۵۶ بیت مقاومت ارائه می‌دهد در مقایسه با ۱۲۸ بیت SHA-256، بر اساس حد حمله birthday که نیمی از طول digest است. برای مقاومت در برابر preimage، SHA-512 در مقابل SHA-256 به ترتیب ۵۱۲ بیت و ۲۵۶ بیت ارائه می‌دهد. هر دو تا سال ۲۰۲۶ در برابر تمام حملات شناخته‌شده امن تلقی می‌شوند، اما SHA-512 حاشیه امنیتی بزرگ‌تری فراهم می‌کند. در عمل، مقاومت ۱۲۸ بیتی در برابر collision در SHA-256 از نظر محاسباتی بسیار فراتر از آنچه امکان شکستن آن وجود دارد، است.
آیا SHA-512 کندتر از SHA-256 است؟
روی پردازنده‌های ۶۴ بیتی، SHA-512 معمولاً سریع‌تر از SHA-256 است زیرا روی کلمات بومی ۶۴ بیتی عمل می‌کند. روی سیستم‌های ۳۲ بیتی یا embedded، SHA-512 کندتر است زیرا هر عملیات ۶۴ بیتی باید با چندین دستور ۳۲ بیتی شبیه‌سازی شود. برای اکثر CPUهای مدرن دسکتاپ، سرور و موبایل (همه ۶۴ بیتی)، SHA-512 throughput برابر یا بهتری نسبت به SHA-256 ارائه می‌دهد.
تفاوت بین SHA-512 و SHA-512/256 چیست؟
SHA-512/256 از همان الگوریتم داخلی SHA-512 (بلوک‌های ۱۰۲۴ بیتی، ۸۰ دور، کلمات ۶۴ بیتی) استفاده می‌کند اما با مقادیر اولیه هش متفاوت شروع می‌کند و خروجی را به ۲۵۶ بیت کوتاه می‌کند. این به شما سرعت SHA-512 روی سخت‌افزار ۶۴ بیتی با خروجی هم‌اندازه SHA-256 می‌دهد. SHA-512/256 همچنین ذاتاً در برابر حملات length-extension مقاوم است زیرا کوتاه‌سازی حالت داخلی که یک مهاجم به آن نیاز دارد را حذف می‌کند.
چرا Ed25519 از SHA-512 استفاده می‌کند؟
طرح امضای Ed25519 از SHA-512 در دو جا استفاده می‌کند: اول برای استخراج scalar امضا و پیشوند nonce از seed کلید خصوصی ۳۲ بایتی، و سپس برای هش پیام در طول امضا. SHA-512 انتخاب شد زیرا خروجی ۵۱۲ بیتی تولید می‌کند که می‌تواند به دو نیمه ۲۵۶ بیتی تقسیم شود، و عملیات ۶۴ بیتی آن با حساب منحنی ۲۵۵ بیتی Curve25519 همسو است.
آیا می‌توان SHA-512 را برای بازیابی ورودی اصلی معکوس کرد؟
خیر. SHA-512 یک تابع یک‌طرفه با ۵۱۲ بیت مقاومت در برابر preimage است. هیچ روش شناخته‌شده‌ای برای بازیابی ورودی سریع‌تر از جستجوی brute-force روی 2^512 احتمال وجود ندارد — عددی بزرگ‌تر از تخمین اتم‌های کیهان قابل مشاهده. با این حال، ورودی‌های کوتاه یا قابل پیش‌بینی می‌توانند با استفاده از حملات dictionary یافته شوند، به همین دلیل رمزهای عبور باید به جای SHA-512 خام از KDFهای اختصاصی مانند bcrypt یا Argon2 استفاده کنند.
آیا SHA-512 در Web Crypto API پشتیبانی می‌شود؟
بله. تمام مرورگرهای مدرن SHA-512 را از طریق crypto.subtle.digest('SHA-512', data) پیاده‌سازی می‌کنند. این همان API است که توسط این ابزار استفاده می‌شود. همچنین در Node.js 18+، Deno و Bun در دسترس است. Web Crypto API یک ArrayBuffer برمی‌گرداند که با نگاشت هر بایت به نمایش هگزادسیمال دو کاراکتری آن به یک رشته هگز تبدیل می‌کنید.
چه زمانی باید به جای SHA-256 از SHA-512 استفاده کنم؟
از SHA-512 استفاده کنید وقتی یک پروتکل آن را الزامی می‌کند (Ed25519، برخی طرح‌های HMAC)، وقتی به بیش از ۱۲۸ بیت مقاومت در برابر collision نیاز دارید، یا وقتی روی سخت‌افزار ۶۴ بیتی کار می‌کنید و حداکثر throughput را می‌خواهید. SHA-512 همچنین برای checksum های یکپارچگی فایل ترجیح داده می‌شود وقتی digest طولانی‌تر قابل قبول است، زیرا فضای هش گسترده‌تر احتمال تصادم تصادفی را در مجموعه داده‌های بسیار بزرگ کاهش می‌دهد. برای اکثر برنامه‌های وب، API و TLS، SHA-256 همچنان پیش‌فرض استاندارد باقی می‌ماند.