ToolDeck

SHA-256 হ্যাশ জেনারেটর

যেকোনো টেক্সট থেকে SHA-256 হ্যাশ তৈরি করুন

ইনপুট টেক্সট

স্থানীয়ভাবে চলে · গোপন তথ্য পেস্ট করা নিরাপদ

SHA-256 হ্যাশ

SHA-256 হ্যাশ এখানে দেখাবে…

SHA-256 হ্যাশিং কী?

SHA-256 (Secure Hash Algorithm 256-bit) হল SHA-2 পরিবারের একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন, যা NIST ২০০১ সালে FIPS 180-2-এর অংশ হিসেবে প্রকাশ করেছিল (পরে FIPS 180-4-এ আপডেট করা হয়েছে)। যেকোনো ইনপুট দিলে — একটি একক অক্ষর, বহু গিগাবাইটের ফাইল বা একটি খালি স্ট্রিং — SHA-256 একটি নির্দিষ্ট 256-bit (32-byte) ডাইজেস্ট তৈরি করে, যা সাধারণত 64টি হেক্সাডেসিমাল অক্ষর হিসেবে প্রদর্শিত হয়। SHA-256 আজকের প্রোডাকশন সিস্টেমে সবচেয়ে বেশি ব্যবহৃত হ্যাশ ফাংশন, যা TLS সার্টিফিকেট চেইন, Bitcoin-এর proof-of-work, Subresource Integrity (SRI) এবং কোড-সাইনিং ওয়ার্কফ্লোর ভিত্তি।

SHA-256 একটি এক-মুখী ফাংশন: ইনপুট থেকে হ্যাশ গণনা করা দ্রুত (আধুনিক হার্ডওয়্যারে প্রতি সেকেন্ডে শত শত মেগাবাইট), কিন্তু প্রক্রিয়াটি উল্টো করা — একটি নির্দিষ্ট হ্যাশ থেকে ইনপুট খুঁজে বের করা — গণনাগতভাবে অসাধ্য। এই বৈশিষ্ট্যটি, যাকে preimage resistance বলা হয়, SHA-256-কে পাসওয়ার্ড হ্যাশিং (salt ও key-stretching-এর সাথে মিলিয়ে), ডিজিটাল স্বাক্ষর এবং ডেটা অখণ্ডতা যাচাইয়ের জন্য উপযুক্ত করে তোলে। MD5 ও SHA-1-এর বিপরীতে, পূর্ণ SHA-256-এর বিরুদ্ধে কোনো collision বা preimage আক্রমণ প্রদর্শিত হয়নি।

SHA-2 পরিবারে ছয়টি ভ্যারিয়েন্ট রয়েছে: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 এবং SHA-512/256। SHA-256 প্রতি ব্লকে 64 রাউন্ড সহ 32-bit শব্দে কাজ করে, যা 32-bit প্রসেসরের জন্য অপ্টিমাইজ করা। SHA-512 64-bit শব্দ এবং 80 রাউন্ড ব্যবহার করে, যা 64-bit প্ল্যাটফর্মে দ্রুততর হতে পারে। যেসব ক্ষেত্রে 256-bit ডাইজেস্ট যথেষ্ট, সেখানে SHA-256 NIST, IETF এবং CA/Browser Forum-এর ডিফল্ট পরামর্শ হিসেবে থাকে।

অনলাইন SHA-256 জেনারেটর কেন ব্যবহার করবেন?

SHA-256 হ্যাশ তৈরি করতে সাধারণত একটি টার্মিনাল কমান্ড বা কিছু লাইনের কোড প্রয়োজন। এই ব্রাউজার-ভিত্তিক টুলটি আপনাকে কিছু ইনস্টল না করে, প্রেক্ষাপট পরিবর্তন না করে বা স্ক্রিপ্ট না লিখে SHA-256 ডাইজেস্ট গণনা করতে দেয়।

ব্রাউজারে তাৎক্ষণিক হ্যাশিং
যেকোনো টেক্সট পেস্ট করুন বা টাইপ করুন এবং সঙ্গে সঙ্গে SHA-256 ডাইজেস্ট পান। Web Crypto API গণনাটি নেটিভলি পরিচালনা করে — কোনো JavaScript লাইব্রেরির বাড়তি ভার নেই।
🔒
গোপনীয়তা-প্রথম প্রক্রিয়াকরণ
আপনার ইনপুট কখনো আপনার ডিভাইস ছেড়ে যায় না। সমস্ত হ্যাশিং ব্রাউজারের অন্তর্নির্মিত Web Crypto API-এর মাধ্যমে স্থানীয়ভাবে চলে। কোনো ডেটা কোনো সার্ভারে পাঠানো হয় না।
📋
কপি-প্রস্তুত আউটপুট ফরম্যাট
এক ক্লিকে ছোট হাতে বা বড় হাতের হেক্সে হ্যাশ পান। প্যাকেজ ম্যানেজার, CI পাইপলাইন বা ডকুমেন্টেশনের চেকসামের সাথে মেলানোর সময় কাজে আসে।
🔍
রেফারেন্স মান যাচাই করুন
ডাউনলোড পেজ, SBOM ম্যানিফেস্ট বা অডিট লগ থেকে SHA-256 ডাইজেস্ট দ্রুত যাচাই করুন, টার্মিনাল খোলা বা অস্থায়ী কোড লেখার প্রয়োজন ছাড়াই।

SHA-256-এর ব্যবহার ক্ষেত্র

ফ্রন্টএন্ড ডেভেলপার — Subresource Integrity
CDN-হোস্টেড স্ক্রিপ্ট বা স্টাইলশিটের SHA-256 হ্যাশ গণনা করুন script ও link ট্যাগের integrity অ্যাট্রিবিউট পূরণ করতে, সাপ্লাই-চেইন টেম্পারিং থেকে সুরক্ষা পেতে।
ব্যাকএন্ড ইঞ্জিনিয়ার — API রিকোয়েস্ট সাইনিং
অনেক API (AWS Signature V4, Stripe webhooks) রিকোয়েস্ট পেলোডের SHA-256 হ্যাশ প্রয়োজন করে। ডেভেলপমেন্ট ও ডিবাগিংয়ের সময় রেফারেন্স হ্যাশ গণনা করতে এই টুল ব্যবহার করুন।
DevOps — আর্টিফ্যাক্ট যাচাই
প্রোডাকশন অবকাঠামোয় স্থাপন করার আগে ডাউনলোড করা বাইনারি, Docker বেস ইমেজ বা Terraform প্রোভাইডার প্লাগইনের SHA-256 চেকসাম যাচাই করুন।
QA ইঞ্জিনিয়ার — টেস্ট ভেক্টর যাচাই
আপনার হ্যাশিং বাস্তবায়ন এজ কেস সঠিকভাবে পরিচালনা করে কিনা নিশ্চিত করতে NIST টেস্ট ভেক্টরের (FIPS 180-4 উদাহরণ) বিপরীতে SHA-256 আউটপুট ক্রস-রেফারেন্স করুন।
ডেটা ইঞ্জিনিয়ার — সারি-স্তরের ফিঙ্গারপ্রিন্টিং
ডেটা পাইপলাইনে ডুপ্লিকেট অপসারণ বা pseudonymization-এর জন্য নির্ধারণবাদী, অপরিবর্তনীয় ফিঙ্গারপ্রিন্ট তৈরি করতে SHA-256 দিয়ে কম্পোজিট কী বা PII ক্ষেত্র হ্যাশ করুন।
শিক্ষার্থী — ক্রিপ্টোগ্রাফি কোর্সওয়ার্ক
SHA-256 নিয়ে পরীক্ষা করুন avalanche effect পর্যবেক্ষণ করতে: ইনপুটে একটি অক্ষর পরিবর্তন করুন এবং দেখুন পুরো 64-অক্ষরের আউটপুট কীভাবে অপ্রত্যাশিতভাবে বদলে যায়।

SHA-2 পরিবারের ভ্যারিয়েন্ট তুলনা

SHA-256 FIPS 180-4-এ সংজ্ঞায়িত SHA-2 পরিবারের অন্তর্গত। প্রতিটি ভ্যারিয়েন্ট ডাইজেস্ট আকার, কার্যক্ষমতার বৈশিষ্ট্য এবং নিরাপত্তা মার্জিনের মধ্যে ভারসাম্য করে। নিচের সারণিটি আপনি সম্ভবত যেসব SHA-2 ভ্যারিয়েন্টের মুখোমুখি হবেন সেগুলো তুলনা করে।

ভ্যারিয়েন্টডাইজেস্টের আকারহেক্সের দৈর্ঘ্যবাইটের আকারসবচেয়ে উপযুক্ত
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

সঠিক হ্যাশ অ্যালগরিদম বেছে নেওয়া আপনার নিরাপত্তার প্রয়োজনীয়তা এবং সামঞ্জস্যতার সীমাবদ্ধতার উপর নির্ভর করে। 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 একটি Merkle–Damgård কনস্ট্রাকশনের মাধ্যমে 512-bit (64-byte) ব্লকে ইনপুট প্রক্রিয়া করে। অ্যালগরিদমটি প্রথম আটটি মৌলিক সংখ্যার বর্গমূলের ভগ্নাংশ থেকে প্রাপ্ত আটটি 32-bit স্টেট শব্দ (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 নিশ্চিত করে যে ইনপুটে একটি বিট পরিবর্তন করলে আউটপুট বিটের প্রায় ৫০% পরিবর্তিত হয়। এই বৈশিষ্ট্যটি, 2^128 collision resistance-এর সাথে মিলে, ২০২৬ সালেও SHA-256-কে নিরাপত্তা-সংবেদনশীল অ্যাপ্লিকেশনের জন্য ভিত্তিগত পরামর্শ হিসেবে রাখে।

SHA-256 কোডের উদাহরণ

SHA-256 প্রতিটি প্রধান ভাষা ও রানটাইমে নেটিভলি পাওয়া যায়। Web Crypto API ব্রাউজারে কোনো লাইব্রেরি ছাড়াই এটি সরবরাহ করে। নিচের উদাহরণগুলো 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 কি এখনো নিরাপদ?
হ্যাঁ। ২০২৬ সাল পর্যন্ত, পূর্ণ SHA-256-এর বিরুদ্ধে কোনো ব্যবহারিক collision, preimage বা second-preimage আক্রমণ পাওয়া যায়নি। NIST, CA/Browser Forum এবং IETF TLS সার্টিফিকেট, কোড সাইনিং ও ডিজিটাল স্বাক্ষরের জন্য SHA-256 সুপারিশ করতে থাকে। তাত্ত্বিক collision resistance হল 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, যদি না দীর্ঘতর ডাইজেস্ট প্রয়োজন হয়।
SHA-256 কি রিভার্স বা ডিক্রিপ্ট করা যায়?
না। SHA-256 একটি এক-মুখী হ্যাশ ফাংশন, এনক্রিপশন নয়। কোনো কী নেই এবং কোনো ডিক্রিপশন প্রক্রিয়া নেই। মূল ইনপুট খুঁজে বের করার একমাত্র উপায় হল brute-force বা dictionary আক্রমণ, যা যথেষ্ট জটিল ইনপুটের জন্য গণনাগতভাবে অসাধ্য। ছোট বা অনুমানযোগ্য ইনপুটের (যেমন সাধারণ পাসওয়ার্ড) জন্য প্রিকম্পিউটেড rainbow table বিদ্যমান, তাই পাসওয়ার্ড হ্যাশিংয়ে সবসময় salt এবং bcrypt বা Argon2-এর মতো নিবেদিত KDF ব্যবহার করা উচিত।
SHA-256 SHA-3-এর সাথে কীভাবে তুলনা করে?
SHA-3 (Keccak, FIPS 202) SHA-256 (Merkle–Damgård)-এর চেয়ে সম্পূর্ণ ভিন্ন অভ্যন্তরীণ কাঠামো (sponge construction) ব্যবহার করে। SHA-256 এবং SHA-3-256 উভয়ই 256-bit ডাইজেস্ট তৈরি করে এবং সমতুল্য collision resistance প্রদান করে। SHA-3 SHA-2 ভাঙলে ব্যাকআপ হিসেবে তৈরি করা হয়েছিল, কিন্তু SHA-2 এখনো অভঙ্গ। SHA-256-এর রানটাইম সমর্থন বেশি — উল্লেখযোগ্যভাবে, Web Crypto API SHA-256 সমর্থন করে কিন্তু SHA-3 নয়।
SHA-256 কি পাসওয়ার্ড হ্যাশিংয়ের জন্য উপযুক্ত?
সরাসরি নয়। পাসওয়ার্ডের কাঁচা SHA-256 হ্যাশ brute-force ও rainbow table আক্রমণের জন্য ঝুঁকিপূর্ণ কারণ SHA-256 দ্রুত হতে ডিজাইন করা। পাসওয়ার্ড সংরক্ষণের জন্য bcrypt, scrypt বা Argon2id-এর মতো নিবেদিত key derivation function ব্যবহার করুন, যা আক্রমণ ধীর করতে salt ও কনফিগারযোগ্য work factor যোগ করে।
Bitcoin কেন দ্বিগুণ SHA-256 ব্যবহার করে?
Bitcoin ব্লক হেডার ও ট্রানজেকশন আইডির জন্য SHA-256(SHA-256(data)) (hash256 নামে পরিচিত) গণনা করে। দ্বিগুণ প্রয়োগ length-extension আক্রমণ থেকে রক্ষা করে, যেখানে একজন আক্রমণকারী মূল ইনপুট না জেনেই একটি বার্তায় ডেটা যোগ করে একটি বৈধ হ্যাশ গণনা করতে পারে। এটি Merkle–Damgård হ্যাশের একটি বৈশিষ্ট্য যা single-pass SHA-256 প্রতিরোধ করে না।
Subresource Integrity (SRI) কী এবং SHA-256 এর সাথে এর সম্পর্ক কী?
SRI হল একটি W3C স্পেসিফিকেশন যা ব্রাউজারকে একটি আনা রিসোর্স (স্ক্রিপ্ট, স্টাইলশিট) পরিবর্তিত হয়নি তা যাচাই করতে দেয়। আপনি প্রত্যাশিত ফাইল বিষয়বস্তুর Base64-এনকোডেড SHA-256 (বা SHA-384/SHA-512) হ্যাশ সমন্বিত একটি integrity অ্যাট্রিবিউট যোগ করেন। ব্রাউজার ডাউনলোড করা ফাইলের হ্যাশ গণনা করে এবং হ্যাশ মিলে না গেলে তা কার্যকর করতে অস্বীকার করে। SHA-256 হল SRI দ্বারা সমর্থিত ন্যূনতম অ্যালগরিদম।