আপনি যা করছেন তা প্রতি "এনক্রিপশন" নয়; এটি "হ্যাশিং"। দুই মধ্যে প্রধান পার্থক্য হল যে এনক্রিপশন হয় হয় যখন হ্যাশ কোনো প্রথম স্থানে মূল বার্তা বুদ্ধিমান ছাড়া অন্য অবস্থার বিপরীত অত্যন্ত কঠিন হতে ডিজাইন করা হয়েছে সহজে উলটাকর (অবশ্যই সঠিক কী দিয়ে)।
তাত্ত্বিকভাবে, হ্যাশগুলি একটি "এলোমেলো ওরাকল" অনুকরণ করে, যা একটি এডেটিক স্মৃতি এবং একটি উচ্চতর পরিসীমা সীমা ছাড়াই একেবারে অনন্য, নিখুঁত এলোমেলো সংখ্যা উত্পন্ন করার অনুমানযুক্ত হোমুনকুলাস sim আপনি এই ছোট মানুষটিকে একটি বার্তা দিতেন, এবং দুটি জিনিসের একটি ঘটবে; হয় সে আগে কখনও এই বার্তাটি দেখেনি, সে ক্ষেত্রে সে একটি নতুন এলোমেলো সংখ্যা তৈরি করে এবং ডাইজেস্ট হিসাবে আপনাকে দেয়, বা তিনি আগে এই বার্তাটি দেখেছেন এবং তাই তিনি যখন দেখেন তখন তিনি যে নম্বরটি উত্পন্ন করেছিলেন তা মনে রাখে এবং দেয় প্রথমবার. সেই তাত্ত্বিক মডেলটিতে, কোনও বার্তা এবং এটির ডাইজেস্টের মধ্যে শূন্য সম্পর্ক রয়েছে এবং আরএনজি থেকে দু'বার উপস্থিত কোনও একক সংখ্যার সাথে সংঘর্ষের সম্ভাবনা নেই।
দুর্ভাগ্যক্রমে, আমাদের কাছে আদর্শ র্যান্ডম ওরাকল নেই; ডিজিটাল বাস্তবায়নের ক্ষেত্রে ধারণার ব্যবহারিক অসম্ভাব্যতা যেমন: যে কোনও জায়গায় যে কোনও বার্তায় ব্যবহৃত প্রতিটি বার্তা দক্ষতার সাথে সঞ্চয় এবং দক্ষতার সাথে স্মরণ করার দক্ষতা এবং ক্লায়েন্টদের এমন একটি সংখ্যা গ্রহণ করার ক্ষমতা যা শত বা কয়েক হাজার দশমিক সংখ্যার হতে পারে দৈর্ঘ্যে. পরিবর্তে, আমাদের হ্যাশ ফাংশন রয়েছে, যা অপরিবর্তনীয় (একমুখী) গাণিতিক ক্রিয়াকলাপ যা নিজেই বার্তাটিতে কাজ করে, একটি ডেসটিনিস্টিক ট্রান্সফর্মেশন (একই বার্তা => একই হ্যাশ) তৈরি করার জন্য কোনও স্পষ্ট নয়হ্যাশ এবং মূল বার্তার মধ্যে সম্পর্ক। মন্তব্যে উল্লিখিত হিসাবে, বার্তায় নিয়মতান্ত্রিক পরিবর্তন করে উত্পাদিত হ্যাশ মানের কোনও পূর্বাভাস পরিবর্তনও হওয়া উচিত নয়; আদর্শভাবে, প্রতিটি ডাইজেস্টের বার্তায় একক বিটকে পরিবর্তিত করে 50% পরিবর্তন করার সুযোগ থাকবে।
হ্যাশ ফাংশনের জন্য অনেকগুলি ব্যবহার রয়েছে; এগুলি উভয় পক্ষের সরল পাঠ্য গোপনীয়তা না জেনে চ্যালেঞ্জ যাচাইকরণের জন্য (পাসওয়ার্ডের মতো লগইন শংসাপত্রগুলি ভাবার জন্য) ব্যবহার করা হয় এবং কোনও বার্তায় টেম্পার করা বা দুর্নীতিগ্রস্থ হয়নি তা যাচাই করার জন্য তারা চেকসাম হিসাবে ব্যবহৃত হয়। এগুলি তথাকথিত "কাজের প্রমাণ" দৃশ্যেও ব্যবহৃত হয়; গণনা সংক্রান্ত কাজগুলি যা সম্পূর্ণ করা কঠিন তবে যাচাই করা সহজ।
যদি আপনি কখনই কোনও SHA256 হ্যাশ ডাইজেস্টকে দক্ষতার সাথে বিপরীত করার জন্য কোনও বার্তা (যে কোনও বার্তা) তৈরি করে সেই হ্যাশের ফলস্বরূপ কোনও ফলাফল খুঁজে পান, তবে এটি প্রমাণ করে প্রমাণ করে যে বাস্তবে হ্যাশটি মূলত নষ্ট হয়ে গেছে। SHA256 প্রকৃতপক্ষে সুরক্ষিত বলে বিশ্বাস করা হয়েছে যার অর্থ হ্যাশ ডাইজেস্ট দিয়ে শুরু করার এবং একটি সংঘর্ষক বার্তা উত্পন্ন করার জন্য কোনও হস্ত ডাইজেস্ট দিয়ে শুরু করার এবং কোনও সংঘর্ষ বার্তা উত্পন্ন করার জন্য কোনও ডকুমেন্টেড পদ্ধতি নেই, যা SHA-256 এর জন্য আদর্শভাবে 2 6 256 ~ = 10 ^ 77 সম্ভাবনা)।