হ্যাশ পাসওয়ার্ড ক্ষেত্রের জন্য কোন ডেটা ব্যবহার করতে হবে এবং কত দৈর্ঘ্যের?


268

আমি নিশ্চিত নই যে পাসওয়ার্ড হ্যাশিং কীভাবে কাজ করে (এটি পরে এটি প্রয়োগ করবে) তবে এখনই ডাটাবেস স্কিমা তৈরি করা দরকার।

আমি পাসওয়ার্ডগুলিকে ৪-২০ টি অক্ষরে সীমাবদ্ধ করার কথা ভাবছি, তবে হ্যাশ স্ট্রিং এনক্রিপ্ট করার পরে যেমন বুঝতে পারি তা বিভিন্ন দৈর্ঘ্যের হবে।

সুতরাং, কীভাবে ডাটাবেসে এই পাসওয়ার্ডগুলি সংরক্ষণ করবেন?


ওপেনওয়ালের পিএইচপি পাসওয়ার্ড হ্যাশিং ফ্রেমওয়ার্ক (পিএইচপাস) দেখুন। এটির বহনযোগ্য এবং ব্যবহারকারীর পাসওয়ার্ডগুলিতে প্রচুর সাধারণ আক্রমণগুলির বিরুদ্ধে কঠোর। যে কাঠামোটি লিখেছেন (সোলার ডিজাইনার) তিনি একই লোক যিনি জন দ্য রিপার লিখেছেন এবং পাসওয়ার্ড হ্যাশিং প্রতিযোগিতায় বিচারক হিসাবে বসেছিলেন । সুতরাং তিনি পাসওয়ার্ডে আক্রমণ সম্পর্কে একটি বা দুটি জিনিস জানেন।
jww

2
দয়া করে আপনার পাসওয়ার্ডগুলিতে উপরের সীমাটি রাখবেন না। আপনি সেগুলি হ্যাশ করছেন, উপরের সীমাটির কোনও স্টোরেজ কারণ নেই। আপনি যদি পাসওয়ার্ড হ্যাশ ব্যবহার করে ডস আক্রমণ সম্পর্কে উদ্বিগ্ন হন তবে 1000 বা 1024 একটি যুক্তিসঙ্গত উপরের সীমা।
Iirmittedn

পাসওয়ার্ডের দৈর্ঘ্য কেন সীমাবদ্ধ? কমপক্ষে কোনও ব্যবহারকারীকে 100 টি অক্ষরের পাসওয়ার্ড তৈরি করতে দিন :)
অ্যান্ড্রু

পাসওয়ার্ডগুলির জন্য 4 টি অক্ষর একটি অত্যন্ত বিপজ্জনক নিম্ন আবদ্ধ কারণ এগুলি ক্র্যাক করার পক্ষে নগণ্য। খুব কমপক্ষে 8 ব্যবহার করুন তবে 14 বা 16 আরও ভাল।
কোচউচেন্জ করুন

পুরানো উত্তর সহ এটি একটি খুব পুরানো প্রশ্ন। গিলসের উত্তরটি আপ টু ডেট দেখুন।
কেলালাকা

উত্তর:


448

আপডেট: পাসওয়ার্ডগুলি সংরক্ষণ করার জন্য কেবল একটি হ্যাশ ফাংশন ব্যবহার করা যথেষ্ট শক্তিশালী নয়। আরও বিশদ ব্যাখ্যার জন্য আপনার এই থ্রেডে গিলসের উত্তরটি পড়া উচিত ।

পাসওয়ার্ডগুলির জন্য, ব্র্যাকিপ বা আরগন 2 আই এর মতো একটি কী-শক্তিশালী হ্যাশ অ্যালগরিদম ব্যবহার করুন। উদাহরণস্বরূপ, পিএইচপি-তে, পাসওয়ার্ড_হ্যাশ () ফাংশনটি ব্যবহার করুন যা ডিফল্টরূপে Bcrypt ব্যবহার করে।

$hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT);

ফলাফলটি হ'ল নিম্নলিখিতগুলির মতো একটি 60-অক্ষরের স্ট্রিং (তবে অঙ্কগুলি পৃথক হবে, কারণ এটি একটি অনন্য লবণ উত্পন্ন করে)।

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

CHAR(60)Bcrypt হ্যাশের এই এনকোডিংটি সঞ্চয় করতে এসকিউএল ডেটা টাইপ ব্যবহার করুন । নোট করুন যে এই ফাংশনটি হেক্সাডেসিমাল ডিজিটের স্ট্রিং হিসাবে এনকোড হয় না, তাই বাইনারিগুলিতে সঞ্চয় করার জন্য আমরা এটি সহজেই আনহেক্স করতে পারি না।

অন্যান্য হ্যাশ ফাংশনগুলির এখনও ব্যবহার রয়েছে, তবে পাসওয়ার্ডগুলি সংরক্ষণ করার জন্য নয়, তাই আমি আসল উত্তরটি নীচে রাখব, ২০০৮ সালে লিখিত।


এটি আপনি যে হ্যাশিং অ্যালগরিদম ব্যবহার করেন তার উপর নির্ভর করে। ইনপুট নির্বিশেষে হ্যাশিং সর্বদা একই দৈর্ঘ্যের ফলাফল তৈরি করে। হেক্সাডেসিমাল ডিজিটের একটি সিরিজ হিসাবে পাঠ্যের ক্ষেত্রে বাইনারি হ্যাশ ফলাফলটি উপস্থাপন করা সাধারণ। অথবা আপনি UNHEX()অর্ধেক দ্বারা হেক্স অঙ্কের স্ট্রিং হ্রাস করতে ফাংশনটি ব্যবহার করতে পারেন ।

  • MD5 একটি 128-বিট হ্যাশ মান উত্পন্ন করে। আপনি চার (32) বা বিনারি (16) ব্যবহার করতে পারেন
  • SHA-1 একটি 160-বিট হ্যাশ মান উত্পন্ন করে। আপনি চার (40) বা বিনারি (20) ব্যবহার করতে পারেন
  • SHA-224 একটি 224-বিট হ্যাশ মান উত্পন্ন করে। আপনি CHAR (56) বা বিনারি (28) ব্যবহার করতে পারেন
  • SHA-256 একটি 256-বিট হ্যাশ মান উত্পন্ন করে। আপনি CHAR (64) বা বিনারি (32) ব্যবহার করতে পারেন
  • SHA-384 একটি 384-বিট হ্যাশ মান উত্পন্ন করে। আপনি CHAR (96) বা বিনারি (48) ব্যবহার করতে পারেন
  • SHA-512 একটি 512-বিট হ্যাশ মান উত্পন্ন করে। আপনি চার (128) বা বিনারি (64) ব্যবহার করতে পারেন
  • বিসিক্রিপ্ট একটি বাস্তবায়ন নির্ভর 448-বিট হ্যাশ মান উত্পন্ন করে। আপনার জন্য CHAR (56), CHAR (60), CHAR (76), বিনারি (56) বা বিনয়ের (60) প্রয়োজন হতে পারে

2015 পর্যন্ত, এনআইএসটি হ'ল ফাংশনগুলির যে কোনও অ্যাপ্লিকেশনের জন্য ইন্টারঅ্যাপেরিবিলিটির প্রয়োজন হয় তার জন্য SHA-256 বা তার বেশি ব্যবহার করার পরামর্শ দেয় । তবে এনআইএসটি পাসওয়ার্ডগুলি নিরাপদে সংরক্ষণের জন্য এই সাধারণ হ্যাশ ফাংশনগুলি ব্যবহার করার পরামর্শ দেয় না।

কম হ্যাশিং অ্যালগরিদমগুলির ব্যবহার রয়েছে (যেমন কোনও অ্যাপ্লিকেশনের অভ্যন্তরীণ, ইন্টারচেঞ্জের জন্য নয়) তবে তারা ক্র্যাকযোগ্য হিসাবে পরিচিত


47
@ হিপ্পো: দয়া করে লবণ হিসাবে ব্যবহারকারীর নাম ব্যবহার করবেন না। ব্যবহারকারী হিসাবে একটি এলোমেলো লবণ উত্পাদন।
বিল কারভিন

11
হ্যাঁ, এটিকে একই সারিতে না রাখার কোনও কারণ নেই। এমনকি যদি কোনও আক্রমণকারী আপনার ডাটাবেসে অ্যাক্সেস অর্জন করে তবে তাদের সেই লবণের উপর ভিত্তি করে তাদের রংধনু টেবিলটি তৈরি করতে হবে। এবং এটি কেবল পাসওয়ার্ড অনুমান করার মতোই কাজ।
বিল কারভিন

5
@ এসজিটিপুকি: প্লেইন্টেক্সটে লবণ সংরক্ষণের জন্য আপনার আর একটি কলাম দরকার। তারপরে আপনি ব্যবহারকারীর পাসওয়ার্ডটি একই লবণের সাথে এটি টাইপ করলে হ্যাশ করতে পারেন এবং ফলাফলটি টেবিলের মধ্যে থাকা হ্যাশ হজমের সাথে তুলনা করতে পারেন।
বিল কারভিন

12
আপনি যদি একই টেবিলে লবণ সংরক্ষণ করে থাকেন (বা একই অ্যাক্সেসের অনুমতি সহ অন্য কোনও স্থান) লবণ হিসাবে ব্যবহারকারীর নামটি ব্যবহার না করার কোনও কারণ নেই কারণ এটি প্রতি ব্যবহারকারী হিসাবে অনন্য হবে। যাইহোক, যে কোনও পরিচিত লবণের কোনও অজানা লবণের চেয়ে হ্যাশটিকে ক্রিপ্টোগ্রাফিকভাবে দুর্বল করে তোলে। একটি লবণ কেবল তখনই যুক্ত করে যদি এটি অজানাও থাকে।
ফিজিয়ারাওন

9
আমি পরিচিত বনাম অজানা নুনের সাথে চুক্তিটি বুঝতে পারি না। আপনি যদি কোনও সাইট বাস্তবায়ন করছেন - লবণের পাসওয়ার্ড পরীক্ষা করে এমন লগইন পৃষ্ঠা / স্ক্রিপ্ট / সেভিসে জানা দরকার। সুতরাং - আপনি "অজানা" লবণের পক্ষে - আপনি কি ধরে নিচ্ছেন যে লগইন প্রক্রিয়াটির কোডটি আক্রমণকারীর অজানা? অন্যথায় - আক্রমণকারী সর্বদা লবণ জানতে পারবে না , তা এলোমেলো, অনন্য, হ্যাশ পাসওয়ার্ডের সাথে একত্রে সঞ্চয় করা হয় বা আলাদা হয় কিনা?
ম্যাটস্টিউহেলার

13

আপনি মাইএসকিউএল এর জন্য আপনার ডেটাটাইপ সংজ্ঞায়িত করতে CHAR(হ্যাশের দৈর্ঘ্য) ব্যবহার করতে পারেন কারণ প্রতিটি হ্যাশিং অ্যালগরিদম সর্বদা একই সংখ্যার অক্ষরের মূল্যায়ন করবে। উদাহরণস্বরূপ, SHA1সর্বদা একটি 40-অক্ষরের হেক্সাডেসিমাল নম্বর প্রদান করে।


1
SHA-1 পাসওয়ার্ডগুলি হ্যাশ করার জন্য উপযুক্ত নয়।
গিলস 21

10

সর্বদা একটি পাসওয়ার্ড হ্যাশিং অ্যালগরিদম ব্যবহার করুন: আরগোন 2 , স্ক্রিপ্ট , বিক্রিপ্ট বা পিবিকেডিএফ 2

আরগন 2 2015 এর পাসওয়ার্ড হ্যাশিং প্রতিযোগিতা জিতেছে। স্ক্রিপ্ট , বিক্রিপ্ট এবং পিবিকেডিএফ 2 পুরানো অ্যালগরিদম যা এখন কম পছন্দ করা হিসাবে বিবেচিত হয়, তবে এখনও মৌলিকভাবে সুরক্ষিত, সুতরাং যদি আপনার প্ল্যাটফর্মটি আরগন 2 এখনও সমর্থন করে না, তবে আপাতত অন্য একটি অ্যালগরিদম ব্যবহার করা ঠিক আছে।

সরাসরি কোনও ডাটাবেসে কোনও পাসওয়ার্ড সংরক্ষণ করবেন না। এটি এনক্রিপ্ট করবেন না: অন্যথায়, যদি আপনার সাইটটি লঙ্ঘন হয় তবে আক্রমণকারী ডিক্রিপশন কী পান এবং তাই সমস্ত পাসওয়ার্ডগুলি পেতে পারে। পাসওয়ার্ডগুলি হ্যাশ করা আবশ্যক ।

একটি পাসওয়ার্ড হ্যাশের একটি হ্যাশ টেবিল হ্যাশ বা ক্রিপ্টোগ্রাফিক হ্যাশ থেকে পৃথক বৈশিষ্ট্য রয়েছে। পাসওয়ার্ডে কখনই কোনও সাধারণ ক্রিপ্টোগ্রাফিক হ্যাশ যেমন MD5, SHA-256 বা SHA-512 ব্যবহার করবেন না। একটি পাসওয়ার্ড হ্যাশিং অ্যালগরিদম একটি লবণ ব্যবহার করে , যা অনন্য (অন্য কোনও ব্যবহারকারীর জন্য বা অন্য কারও ডেটাবেজে ব্যবহৃত হয় না)। লবণের প্রয়োজনীয়তা যাতে আক্রমণকারীরা কেবলমাত্র সাধারণ পাসওয়ার্ডের হ্যাশগুলির প্রাক-গণনা করতে না পারে: একটি লবণ দিয়ে, তাদের প্রতিটি অ্যাকাউন্টের জন্য গণনা পুনরায় চালু করতে হবে। একটি পাসওয়ার্ড হ্যাশিং অ্যালগরিদম অভ্যন্তরীণভাবে ধীর - আপনার সামর্থ্য হিসাবে যত ধীর। আঠালোতা আপনার চেয়ে আক্রমণকারীকে অনেক বেশি কষ্ট দেয় কারণ আক্রমণকারীকে অনেকগুলি বিভিন্ন পাসওয়ার্ড চেষ্টা করতে হয়। আরও তথ্যের জন্য, কীভাবে সুরক্ষিতভাবে পাসওয়ার্ডগুলি হ্যাশ করবেন তা দেখুন

একটি পাসওয়ার্ড হ্যাশ চারটি তথ্যকে এনকোড করে:

  • একটি সূচক যা আলগোরিদিম ব্যবহৃত হয়। চঞ্চলতার জন্য এটি প্রয়োজনীয় : ক্রিপ্টোগ্রাফিক সুপারিশগুলি সময়ের সাথে সাথে পরিবর্তিত হয়। আপনাকে একটি নতুন অ্যালগরিদমে স্থানান্তর করতে সক্ষম হতে হবে।
  • একটি অসুবিধা বা কঠোরতার সূচক। এই মানটি যত বেশি, হ্যাশ গণনা করার জন্য আরও বেশি গণনার প্রয়োজন। এটি পাসওয়ার্ড পরিবর্তন ফাংশনে একটি ধ্রুবক বা বৈশ্বিক কনফিগারেশন মান হওয়া উচিত, তবে কম্পিউটারগুলি দ্রুত বাড়ার সাথে সাথে এটি সময়ের সাথে সাথে বৃদ্ধি করা উচিত, সুতরাং আপনাকে প্রতিটি অ্যাকাউন্টের মান মনে রাখা দরকার। কিছু অ্যালগরিদমের একক সংখ্যাসূচক মান থাকে, আবার অন্যদের আরও প্যারামিটার থাকে (উদাহরণস্বরূপ, সিপিইউ ব্যবহার এবং র‌্যামের ব্যবহার আলাদাভাবে টিউন করা)।
  • নুন। যেহেতু লবণ অবশ্যই বিশ্বব্যাপী অনন্য হতে হবে, তাই প্রতিটি অ্যাকাউন্টের জন্য এটি সংরক্ষণ করতে হবে। প্রতিটি পাসওয়ার্ড পরিবর্তনে এলোমেলোভাবে লবণ তৈরি করা উচিত।
  • হ্যাশ যথাযথ, অর্থাৎ হ্যাশিং অ্যালগরিদমে গাণিতিক গণনার আউটপুট।

অনেক লাইব্রেরিতে একটি যুগল ফাংশন অন্তর্ভুক্ত থাকে যা এই তথ্যকে একক স্ট্রিং হিসাবে স্বাচ্ছন্দ্যে প্যাকেজ করে: এমন একটি যা অ্যালগরিদম সূচক, কঠোরতা সূচক এবং পাসওয়ার্ড নেয়, একটি এলোমেলো লবণ উত্পন্ন করে পুরো হ্যাশ স্ট্রিং দেয়; এবং ইনপুট হিসাবে একটি পাসওয়ার্ড এবং পুরো হ্যাশ স্ট্রিং নেয় এবং পাসওয়ার্ডটি সঠিক ছিল কিনা তা নির্দেশ করে একটি বুলিয়ান দেয় one কোনও সার্বজনীন মান নেই, তবে একটি সাধারণ এনকোডিং

$ অ্যালগরিদম $ পরামিতি $ লবণ $ আউটপুট

যেখানে algorithmএকটি সংখ্যা বা একটি সংক্ষিপ্ত আলফানিউমেরিক স্ট্রিং অ্যালগোরিদম পছন্দমত এনকোডিং, হয় parametersএকটি মুদ্রণযোগ্য স্ট্রিং, এবং saltএবং outputসসীম ছাড়া করুন Base64- এনকোড করা হয় =

16 লাইট এবং আউটপুট জন্য 16 বাইট যথেষ্ট। (উদাহরণস্বরূপ আর্গন 2 এর জন্য সুপারিশগুলি দেখুন )) বেস 64 এ এনকোড করা হয়েছে, এটি প্রতিটি 21 টি অক্ষর। অন্যান্য দুটি অংশ অ্যালগরিদম এবং পরামিতিগুলির উপর নির্ভর করে তবে 20-40 অক্ষরগুলি সাধারণত বৈশিষ্ট্যযুক্ত। এটি মোট প্রায় ৮২ টি এএসসিআইআই অক্ষর ( CHAR(82)এবং ইউনিকোডের প্রয়োজন নেই), আপনার যদি ক্ষেত্রটি পরে বড় করা কঠিন হয়ে যায় বলে মনে করেন তবে আপনাকে একটি সুরক্ষা মার্জিন যুক্ত করা উচিত।

আপনি যদি বাইনারি ফর্ম্যাটে হ্যাশটিকে এনকোড করেন তবে আপনি এটিকে অ্যালগরিদমের জন্য 1 বাইটে, কঠোরতার জন্য 1–4 বাইট (যদি কিছু পরামিতিগুলির হার্ড-কোড করেন), এবং লবণের জন্য আউটপুট এবং 16 টি বাইট পেতে পারেন , মোট 37 বাইটের জন্য। কমপক্ষে কয়েক জোড়া অতিরিক্ত বাইট পেতে 40 বাইট ( BINARY(40)) বলুন । মনে রাখবেন যে এটি 8-বিট বাইট, মুদ্রণযোগ্য অক্ষর নয়, বিশেষত ক্ষেত্রটিতে নাল বাইট অন্তর্ভুক্ত থাকতে পারে।

নোট করুন যে হ্যাশটির দৈর্ঘ্য পুরোপুরি পাসওয়ার্ডের দৈর্ঘ্যের সাথে সম্পর্কিত নয়।


9

আপনি এই উইকিপিডিয়া নিবন্ধ সার্থক সার্থক পেতে পারেন । আপনার হ্যাশটির মানটি এলোমেলো করে তুলতে এক সেট বিট ডেটা যুক্ত করার ধারণাটি রয়েছে; কেউ যদি পাসওয়ার্ডের হ্যাশগুলিতে অননুমোদিত অ্যাক্সেস পেয়ে থাকে তবে এটি আপনার পাসওয়ার্ডগুলি অভিধান আক্রমণ থেকে রক্ষা করবে।


2
এটি প্রকৃতপক্ষে খুব সার্থক (+1) তবে এটি প্রশ্নের উত্তর দেয় না! (-1)
বিল কারভিন

3
হ্যাঁ, তবে অবশ্যই এই প্রসঙ্গে (+1) প্রাসঙ্গিক
ট্রেব

7

একটি নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং হিসাবে (VARCHAR (n) বা তবে মাইএসকিউএল এটিকে কল করে)। একটি হ্যাশের সর্বদা একটি নির্দিষ্ট দৈর্ঘ্য থাকে উদাহরণস্বরূপ 12 টি অক্ষর (আপনি ব্যবহার করেন হ্যাশ অ্যালগরিদমের উপর নির্ভর করে)। সুতরাং একটি 20 চরের পাসওয়ার্ডকে 12 চারি হ্যাশে হ্রাস করা হবে এবং একটি 4 চরের পাসওয়ার্ড থেকে 12 চরের হ্যাশও পাওয়া যাবে।


3
'বা তবে মাইএসকিউএল এটি বলে' - মাইএসকিউএল এটিকে CHAR বলে। এই ধরণের স্থির দৈর্ঘ্যের মানের জন্য। সুতরাং আমি মনে করি CHAR VCRAR চেয়ে ভাল টাইপ।
t298712383

4

TEXTসামনের সামঞ্জস্যের জন্য আপনার ব্যবহার করা উচিত (সীমাহীন সংখ্যক অক্ষর সংরক্ষণ করা)। হ্যাশিং অ্যালগরিদমগুলি (প্রয়োজন) সময়ের সাথে সাথে শক্তিশালী হয়ে ওঠে এবং এইভাবে এই ডাটাবেস ক্ষেত্রটি সময়ের সাথে আরও অক্ষর সমর্থন করতে হবে। অতিরিক্তভাবে আপনার স্থানান্তর কৌশলের উপর নির্ভর করে আপনাকে একই ক্ষেত্রে নতুন এবং পুরানো হ্যাশগুলি সংরক্ষণ করতে হতে পারে, সুতরাং এক ধরণের হ্যাশের দৈর্ঘ্য স্থির করার পরামর্শ দেওয়া হয় না।


3

এটি হ্যাশিং অ্যালগরিদমের উপর নির্ভর করে যা আপনি ব্যবহার করছেন। পাসওয়ার্ডের দৈর্ঘ্যের সাথে হ্যাশের দৈর্ঘ্যের সাথে সামান্যই সম্পর্ক আছে, যদি আমি সঠিকভাবে মনে করি remember আপনি যে হ্যাশিং অ্যালগরিদমটি ব্যবহার করছেন তাতে চশমাগুলি দেখুন, কয়েকটি পরীক্ষা চালান এবং তার ঠিক উপরে ছাঁটাই করুন।


3

হ্যাশগুলি বিটগুলির একটি ক্রম (অ্যালগরিদমের উপর নির্ভর করে 128 বিট, 160 বিট, 256 বিট ইত্যাদি)। আপনার কলামটি বাইনারি-টাইপযুক্ত হওয়া উচিত, পাঠ্য / অক্ষর-টাইপযুক্ত নয়, যদি মাইএসকিউএল এটির অনুমতি দেয় (এসকিউএল সার্ভার ডেটাটাইপটি হয় binary(n)বা varbinary(n))। আপনারও হ্যাশগুলিতে নুন দেওয়া উচিত। সল্টগুলি পাঠ্য বা বাইনারি হতে পারে এবং আপনার সংশ্লিষ্ট কলামের প্রয়োজন হবে।


ন্যায়বিচার এখানে পুরোপুরি সঠিক - মাইএসকিউএল এগুলিকে সংখ্যাসূচক মান হিসাবে সংরক্ষণ করবে এবং এই কলামে একটি স্ট্রিং ম্যাচ করার চেয়ে অনুসন্ধান করা আরও দক্ষ করে তুলবে, তবে সল্টযুক্ত ডেটার পাশের ডাটাবেসে সল্ট সংরক্ষণ করা উচিত নয় - যা সল্ট সরবরাহ করে এমন সুরক্ষা সরিয়ে দেয় ।
টনি মারো

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

1
@ টনিমারো এসকিউএল স্তরে কোনও পাসওয়ার্ড স্ট্রিং ম্যাচ করা ভাল কৌশল কিনা তা নিশ্চিত নন। অন্য কথায়, আপনার পাসওয়ার্ডের জন্য আপনার ডাটাবেসটি অনুসন্ধান করা উচিত নয়, পরিবর্তে তার ব্যবহারকারীর নাম অনুসারে ব্যবহারকারীকে পুনরুদ্ধার করুন এবং এসকিউএল এর পরিবর্তে কোডে পাসওয়ার্ডগুলির তুলনা করুন।
বার্ট

1

আমি সর্বদা একটি এনক্রিপ্ট করা স্ট্রিংয়ের MAX স্ট্রিংয়ের দৈর্ঘ্য সন্ধান করার জন্য পরীক্ষিত করেছি এবং এটি একটি VARCHAR ধরণের অক্ষরের দৈর্ঘ্য হিসাবে সেট করেছি। আপনার কতগুলি রেকর্ড থাকবে তার উপর নির্ভর করে এটি ডাটাবেসের আকারকে সত্যই সহায়তা করতে পারে।


0

এমডি 5 ভর্চারের জন্য (32) উপযুক্ত। যারা এসইএস ব্যবহার করেন তাদের জন্য ভের্বাইনারি ব্যবহার করা আরও ভাল।


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