হ্যাশবাইটস ফাংশনে ডান অ্যালগরিদম নির্বাচন করা


20

তুলনার উদ্দেশ্যে আমাদের এনভারচার ডেটার হ্যাশ মান তৈরি করতে হবে। টি-এসকিউএল-তে একাধিক হ্যাশ অ্যালগরিদম পাওয়া যায় তবে এই দৃশ্যের মধ্যে কোনটি বেছে নেওয়া সেরা?

আমরা নিশ্চিত করতে চাই যে দুটি ভিন্ন এনভারচর মানের জন্য নকল হ্যাশ মান হ'ল ঝুঁকিটি সর্বনিম্ন। ইন্টারনেটে আমার গবেষণার উপর ভিত্তি করে এমডি 5 সেরা বলে মনে হচ্ছে। এটা কি সঠিক? এমএসডিএন উপলভ্য অ্যালগরিদমগুলি সম্পর্কে আমাদের (নীচের লিঙ্কে) জানায়, তবে কোনটি কোন অবস্থার জন্য তার বিবরণ নেই?

হ্যাশবাইটস (লেনদেন-এসকিউএল)

আমাদের দুটি এনভারচার (সর্বাধিক) কলামে দুটি টেবিল যোগ দিতে হবে। আপনি কল্পনা করতে পারেন ক্যোয়ারী কার্যকর করতে সময় লাগে। আমরা ভেবেছিলাম প্রতিটি এনভারচর (সর্বাধিক) ডেটার হ্যাশ মান রাখা এবং ব্লাভারের এনভারচর (সর্বাধিক) মানগুলির চেয়ে হ্যাশ মানগুলিতে যুক্ত হওয়া ভাল। প্রশ্নটি হ্যাশ অ্যালগরিদমটি স্বতন্ত্রতা সরবরাহ করে, যাতে আমরা একাধিক এনভারচার (সর্বাধিক) জন্য একটি হ্যাশ মান রাখার ঝুঁকিতে না পড়ি।

উত্তর:


18

HASHBYTESফাংশন শুধুমাত্র ইনপুট হিসাবে 8000 বাইট পর্যন্ত সময় লাগে। আপনার ইনপুটগুলি তার চেয়ে সম্ভাব্য বেশি হওয়ার কারণে, ক্ষেত্রের পরিসীমাটিতে নকল যা হ্যাশ হয়ে যায় তা বেছে নেওয়া অ্যালগরিদম নির্বিশেষে সংঘর্ষের কারণ হবে । আপনি হ্যাশ করার পরিকল্পনা করছেন এমন ডেটার পরিসর সাবধানতার সাথে বিবেচনা করুন - প্রথম 4000 টি অক্ষর ব্যবহার করা সুস্পষ্ট পছন্দ, তবে আপনার ডেটার জন্য সেরা পছন্দ নাও হতে পারে ।

যে কোনও ইভেন্টে, হ্যাশ ফাংশনটি কী কারণে, ইনপুটগুলি 8000 বাইট বা তার চেয়ে কম হলেও, ফলাফলগুলিতে 100% নির্ভুলতা নিশ্চিত করার একমাত্র উপায় হ'ল কিছু সময় বেস মানগুলি তুলনা করা (পড়ুন: অগত্যা প্রথমে নয় )। সময়কাল।

100% নির্ভুলতা প্রয়োজন কিনা তা ব্যবসায়ের নির্দেশ দেয়। এটি আপনাকে বলবে যে হয় (ক) বেস মানগুলির তুলনা করা প্রয়োজন , বা (খ) আপনার বেস মানগুলি তুলনা না করা বিবেচনা করা উচিত - পারফরম্যান্সের জন্য কতটা যথার্থতা ট্রেড করা উচিত।

হ্যাশের সংঘর্ষগুলি একটি অনন্য ইনপুট সেটে সম্ভব হলেও, এটি বেছে নেওয়া অ্যালগরিদম নির্বিশেষে এগুলি অসম্ভব বিরল। এই দৃশ্যে একটি হ্যাশ মান ব্যবহারের সম্পূর্ণ ধারণাটি হ'ল ফলাফলগুলি দক্ষতার সাথে আরও ম্যানেজযোগ্য সেটগুলিতে সঙ্কুচিত করা, অবিলম্বে ফলাফলের চূড়ান্ত সেটে পৌঁছানো নয়। আবার, 100% নির্ভুলতার জন্য, এটি প্রক্রিয়াটির চূড়ান্ত পদক্ষেপ হতে পারে নাএই দৃশ্যটি ক্রিপ্টোগ্রাফির উদ্দেশ্যে হ্যাশিং ব্যবহার করছে না, সুতরাং এমডি 5 এর মতো একটি অ্যালগরিদম ঠিকঠাক কাজ করবে।

আমার পক্ষে "নির্ভুলতা" উদ্দেশ্যে একটি SHA-x অ্যালগরিদমের দিকে যাওয়া সমর্থন করা অত্যন্ত কঠিন হবে কারণ যদি এমডি 5 এর সংক্ষিপ্ত সংঘর্ষের সম্ভাবনাগুলি সম্পর্কে ব্যবসাটি উন্মোচিত হতে থাকে, তবে সম্ভাবনাগুলিও তারা এই প্রকাশ করতে যাচ্ছেন that SHA-x অ্যালগরিদমগুলিও নিখুঁত নয়। তাদের হয় সামান্য অসম্পূর্ণতার সাথে শর্তাবলীতে আসতে হবে, বা আদেশটি দেওয়া হয়েছে যে কোয়েরিটি 100% নির্ভুল হতে হবে এবং সম্পর্কিত প্রযুক্তিগত জড়িতদের সাথে বেঁচে থাকবে। আমি মনে করি সিডিইউ যদি রাতে এমডি 5 এর পরিবর্তে SHA-x ব্যবহার করে জেনে আরও ভাল ঘুমেন তবে, ঠিক আছে; এই ক্ষেত্রে প্রযুক্তিগত দৃষ্টিকোণ থেকে এখনও এর অর্থ খুব বেশি নয়।

পারফরম্যান্সের কথা বললে, যদি টেবিলগুলি বেশিরভাগ ক্ষেত্রে পঠন করা হয় এবং যোগদানের ফলাফলটি ঘন ঘন প্রয়োজন হয়, প্রতিবার অনুরোধ করা হলে পুরো যোগদানের গণনা করার প্রয়োজনীয়তা দূর করতে একটি সূচক দৃষ্টিভঙ্গি বাস্তবায়নের কথা বিবেচনা করুন। অবশ্যই আপনি এটির জন্য স্টোরেজটি বাণিজ্য বন্ধ করেন, তবে কার্য সম্পাদনের উন্নতির জন্য এটি উপযুক্ত হতে পারে, বিশেষত যদি 100% নির্ভুলতার প্রয়োজন হয়।

দীর্ঘ স্ট্রিং মানগুলির সূচকে আরও পড়ার জন্য, আমি একটি নিবন্ধ প্রকাশ করেছি যা একটি একক টেবিলের জন্য এটি কীভাবে করা যায় তার উদাহরণ দিয়ে যায় এবং এই প্রশ্নের পুরো দৃশ্যের চেষ্টা করার সময় বিবেচনা করার জন্য বিষয়গুলি উপস্থাপন করে।


8

MD5 ভাল হতে হবে এবং আউটপুট একটি বাইনারি (16) এ সংরক্ষণ করা যেতে পারে। সংঘর্ষের সম্ভাবনা ( জন্মদিনের প্যারাডক্স দেখুন ) এখনও অনেক কম, এমনকি বড় আকারের শারীরিক নমুনার আকারও রয়েছে। SHA-1 এর আউটপুট 20 বাইট নেয় এবং SHA-256 এর আউটপুট 32 বাইট নেয়। আপনার এত বড় সংখ্যক রেকর্ড না থাকলে আপনার জন্মদিনের সংঘর্ষের সম্ভাবনা তাৎপর্যপূর্ণ হয়ে ওঠে (শারীরিকভাবে অসম্ভব বা কমপক্ষে বর্তমান হার্ডওয়্যার প্রযুক্তিগুলির সাথে অবৈধ) এটি সম্ভবত ঠিক থাকবে।


4

আমি এসএএএ -1 এর সাথে যাব এটি উপলব্ধ আলগোরিদিমগুলির মধ্যে সেরা এটি এবং এর মধ্যে সবচেয়ে কম সংঘর্ষের তাত্পর্য রয়েছে (MD5 এর তুলনায় 2 ^ 51 যা 2 ^ 20.96)। MD5 নির্দিষ্ট পরিস্থিতিতে সংঘর্ষের জন্যও ঝুঁকিপূর্ণ হিসাবে প্রমাণিত হয়েছে।

সূত্র:

http://en.wikedia.org/wiki/SHA-1 http://en.wikedia.org/wiki/Compistance_of_cryptographic_hash_funitions# ক্রিপটেনালাইসিস http://en.wikedia.org/wiki/MD5


0

আমি উত্তরগুলিতে এই উল্লেখটি দেখিনি তবে এমএসডিএন অনুসারে :

এসকিউএল সার্ভার ২০১ 2016 (১৩.x) দিয়ে শুরু করে, SHA2_256 এবং SHA2_512 ব্যতীত সমস্ত অ্যালগোরিদমগুলি হ্রাস করা হয়েছে। পুরানো অ্যালগরিদমগুলি (প্রস্তাবিত নয়) কাজ চালিয়ে যাবে তবে তারা অবমূল্যায়ন ইভেন্ট উত্থাপন করবে।

আমি একটি অনুরূপ প্রশ্ন জিজ্ঞাসা করেছি তাই আপনি MD5 (যদি আপনি 2016+ এ আছেন) এর মতো একটি অবহেলা ফাংশনটি ব্যবহার করতে চান তবে এটি আপনার উপর নির্ভর করে। MD5 এবং SHA2 এর মধ্যে স্টোরেজ এবং পারফরম্যান্সে কত পার্থক্য রয়েছে তা দেখতে আপনি পরীক্ষা করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.