স্ট্রিং হ্যাশিং-এর জন্য crypt() ফাংশন
PHP-তে crypt() ফাংশনটি একটি স্ট্রিংকে DES, Blowfish, MD5, SHA-256, SHA-512 এর মতো অ্যালগরিদম দিয়ে হ্যাশ করে। এটি অপারেটিং সিস্টেম অনুযায়ী ভিন্ন ভিন্ন ভাবে বেहेভিয়ার করতে পারে। আধুনিক পাসওয়ার্ড হ্যাশের জন্য password_hash() ব্যবহার করা উচিত।
স্পোর্টেড অ্যালগরিদম (কনস্ট্যান্ট)
- CRYPT_STD_DES — স্ট্যান্ডার্ড DES (২ ক্যারেক্টার সল্ট)
- CRYPT_EXT_DES — এক্সটেন্ডেড DES (৯ ক্যারেক্টার সল্ট)
- CRYPT_MD5 — MD5 (১২ ক্যারেক্টার সল্ট,
$1$দিয়ে শুরু) - CRYPT_BLOWFISH — Blowfish (
$2a$,$2x$,$2y$দিয়ে শুরু) - CRYPT_SHA_256 — SHA-256 (১৬ ক্যারেক্টার সল্ট,
$5$দিয়ে শুরু) - CRYPT_SHA_512 — SHA-512 (১৬ ক্যারেক্টার সল্ট,
$6$দিয়ে শুরু)
সিনট্যাক্স
crypt(str, salt)
প্যারামিটার
- str — হ্যাশ করার স্ট্রিং (আবশ্যক)
- salt — হ্যাশের 베이스로 ব্যবহার될 সল্ট স্ট্রিং (অপশনাল, কিন্তু বালিশভাবে রিকমেন্ডেড)
রিটার্ন মান
এনকোডেড হ্যাশ স্ট্রিং রিটার্ন করে। ব্যর্থ হলে ১৩ ক্যারেক্টার চেয়ে ছোট স্ট্রিং রিটার্ন করে যা সল্ট থেকে ভিন্ন।
উদাহরণ (DES চেক)
<?php
if (CRYPT_STD_DES == 1) {
echo "DES supported = " . crypt('demo', 'st') . "\n";
} else {
echo "DES not supported!";
}
?>
আউটপুট
DES supported = st7zBedJadRn2