• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کاربرد تابع password_hash
#1
سلام میخوام بدونم تابه password_hash چه کاربردی داره و کجا استفاده میشه؟
چون این تابع همیشه خروجی متفاوتی میده برای یک رشته ثابت
ممنون میشم راهنمایی کنید
  پاسخ
تشکر شده توسط :
#2
سلام
من تا اونجایی رو که میتونم مینویسم از اساتید هم اجازه میخوام مشکلی داشتم حتما بگن و یا تکمیل کنن
همونطور که از اسمش معلومه
میاد پسوورد رو در اصطلاح هش میکنه یعنی اینکه یک کلمه و یا کاراکتر ثابت رو به حروفی غیر مرتبط با کلمه ثابت در طول و اندازه های مختلف تبدیل میکنه در اصطلاح لغتی بهش میگن کد گذاری
درواقع یک جور الگوریتم هست که همیشه هم ثابت نیست و به روش های مختلفی نوشته میشه
مقابل کد گذاری باید تابعی هم نوشت که این کد رو دیکد کنه
البته استفاده از تابع hash() هم قواعد خاص خودشو داره مثلا زمان خروجی دادن فرق میکنه (که البته با چشم قابل لمس نیس) به خروجی مثال های زیر توجه کن
کد پی‌اچ‌پی:
<?PHP
echo hash('md4','string');//output : 70a2421dd08cce128b3af8ad1dfa74ac
echo hash('md5','string');//output : b45cffe084dd3d20d928bee85e7b0f21
echo hash('crc32b','string');//output : 9ebeb2a9
echo hash('crc32','string');// output: 6a11bcce
echo hash('sha1','string');//output : ecb252044b5ea0f679ee78ec1a12904739e2904d
echo hash('tiger128,3','string');// output: 8790e8eba563e1ab09cb3d2671187f57
echo hash('haval192,3','string');//output : a3947bcae2fcf6e19522cf7eb7886b45674c4d7355df05a8
echo hash('haval224,3','string');// output: 270f74a1fe6ae0cae3e608a34d6c7cdf259279cbe8051770bb  d7d24c
echo hash('tiger160,3','string');// output: 8790e8eba563e1ab09cb3d2671187f57c3a98ad7
echo hash('haval160,3','string');// output: 0e0ec5b63e236e73e30315e2cb2e0078958b999d
echo hash('haval256,3','string');// output: 56793f948908e3b88a0c4c058961f4ab992aa0e189507a941b  fa8fc23ddbff1b
echo hash('tiger192,3','string');// output: 8790e8eba563e1ab09cb3d2671187f57c3a98ad78ac73280
echo hash('haval128,3','string');// output: a30a09cf32f24b15051daf3453655424
echo hash('tiger192,4','string');// output: bb5d732ce01e860ecd2e503c000b63e55e2f871884e35c7e
echo hash('tiger128,4','string');// output: bb5d732ce01e860ecd2e503c000b63e5
echo hash('tiger160,4','string');// output: bb5d732ce01e860ecd2e503c000b63e55e2f8718
echo hash('haval160,4','string');// output: da267f452c399681d0ea7bc342bf777bece1fd38
echo hash('haval192,4','string');// output: 6ef0a334399503df51752b1c6725aa01fdf3111bf59f8117
echo hash('haval256,4','string');// output: baa197bb4a0e2538bb5b416a660ee851d790b74a7cf32be571  3103cc4ada3fb7
echo hash('adler32','string');// output: 09420298
echo hash('haval128,4','string');// output: a1d79d5239be1f0b548ca22294381b30
echo hash('haval224,4','string');// output: 1095abee366a50e5580a303059f838b18673a5ad2cd9f16917  98c35e
echo hash('ripemd256','string');// output: b27f37ac1c5815a3e266e548cbd0e0b8ce98b95dbfc9c66653  10c1c5b95bf1c1
echo hash('haval160,5','string');// output: c21b498b6aa50240ee07c5b68e36643266965f60
echo hash('haval128,5','string');// output: 167fcf89f606aa597894d260b03cdeaa
echo hash('haval224,5','string');// output: daa827a269c62c7a26f5f8fd87db89f8e0c9aa71e2cb6fb448  26ffdc
echo hash('haval192,5','string');// output: 0c3dcbab4db31397e273eb2f31bdf8307521be078d383a64
echo hash('haval256,5','string');// output: 2c25ad10563ed3d2cf07eaffe17f35451799175b8c113c3f14  e94fc64c75dba4
echo hash('sha256','string');// output: 473287f8298dba7163a897908958f7c0eae733e25d2e027992  ea2edc9bed2fa8
echo hash('ripemd128','string');// output: 8f4b5ffc400e9fe83e33a2e0da3668b6
echo hash('ripemd160','string');// output: 03a7e3db903cc2e33a359093897a07db4acf2518
echo hash('ripemd320','string');// output: 6531ce82ce1d0a527f1feaf9b0c2b3f4c1fc4d29b66e4264c4  7f5ac3ebf2d1837ff8c9ace3afc75e
echo hash('sha384','string');// output: 36396a7e4de3fa1c2156ad291350adf507d11a8f8be8b124a0  28c5db40785803ca35a7fc97a6748d85b253babab7953e
echo hash('sha512','string');// output: 2757cb3cafc39af451abb2697be79b4ab61d63d74d85b04186  29de8c26811b529f3f3780d0150063ff55a2beee74c4ec102a  2a2731a1f1f7f10d473ad18a6a87;
echo hash('gost','string');// output: ae7928865cdf2a6d1665ea94e8637a357e1f8e521ec23fa91a  4a9550b74d96dd
echo hash('whirlpool','string');// output: 31975c3249e4e3bdc222632c16371d1dfb3f068d54481a5c5f  bb9b14f24be7054eecee51c3f1cf198fe0f77cd26037fdd4a3  573289314a95680b230ba046ad62
echo hash('snefru','string');// output: 21237229ab93ae6308ddb2eedd375d0beb2162347fde807173  ca5e4e64269dd9
echo hash('md2','string');// output: a06d078cf87b3349d4400afca892ed42
?>
  پاسخ
تشکر شده توسط : pars0076
#3
ممنون از شما

ولی من تابع HASH یا الگوریتم برای هش پسورد رو نمیخوام
hash_pssword تابع داخلی php هست که برای یک رشته مشخص هر بار خروجی متفاوت میده. ظاهرا هر بار salt رو تغیر میده
و با تابع password_verify میشه پسورد رو مقایسه کرد.
اصلاعات تکمیلی
http://php.net/manual/en/function.password-hash.php
http://php.net/manual/en/function.password-verify.php

لطفا اگر چیز دیگه ای هم لازمه بدونیم راجب رمز نگاری اساتید و دوستانی که آشنایی دارند راهنمایی کنند

ممنون
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان