PDA

View Full Version : درخواست توضیح برای یک کد php



behnamy01
سه شنبه 01 مهر 1393, 17:43 عصر
سلام دوستان. من داشتم یک سری کد PHP رو برای تمرین میخوندم، به کد زیر برخوردم که واقعا هیچی ازش نفهمیدم!! میشه لطف کنید از بالا به پایین کامل توضیح بدید که داره چه کار میکنه چون تابع هایی که استفاده کرده رو ندیدم قبلا و به نظر خیلی سخت میاد. و سوال بعدیم هم اینه که کاربرد اینگونه رمزگذاری کجاست؟


<?php
// function to encrypt data
function encryptString($plaintext, $key) {
// seed random number generator
srand((double) microtime() * 1000000);
// encrypt string
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFIS H, MCRYPT_MODE_CFB), MCRYPT_RAND);
$cipher = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $plaintext, MCRYPT_MODE_CFB, $iv);
// add IV to ciphertext
return $iv . $cipher;
}
// function to decrypt data
function decryptString($ciphertext, $key) {
// extract IV
$iv = substr($ciphertext, 0, mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CFB));
$cipher = substr($ciphertext, mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CFB));
// decrypt string
return mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $cipher, MCRYPT_MODE_CFB, $iv);
}
// define cleartext string
$input = "three paces west, up the hill, turn nor-nor-west and fire through the left eye socket";
// define key
$key = "rosebud";
// returns encrypted string
$ciphertext = encryptString($input, $key);
echo $ciphertext;
// returns decrypted string
$cleartext = decryptString($ciphertext, $key);
echo $cleartext;
?>

wallfa
سه شنبه 01 مهر 1393, 18:54 عصر
دو تا تابع داری که کارشون کد سازی رشته است یکی ورودی میگه اینکد میکنه اونیکی همون ورودی میگیره دی کد میکنه ! به درد سایت هایی میخوره که می خواهند اطلاعات در دیتابیس کد شده باشه و از امنیت بالایی برخوردار باشه ! :لبخند:

behnamy01
سه شنبه 01 مهر 1393, 19:42 عصر
دو تا تابع داری که کارشون کد سازی رشته است یکی ورودی میگه اینکد میکنه اونیکی همون ورودی میگیره دی کد میکنه ! به درد سایت هایی میخوره که می خواهند اطلاعات در دیتابیس کد شده باشه و از امنیت بالایی برخوردار باشه ! :لبخند:

در این حد که میدونم که کارش چیه این دو تا تابع :لبخند: میخواستم بدونم مثلا اون تابع mcrypt_create_iv چیه کارش و ورودی هایی که بهش داده باز چیه؟!

بعد یک سوال دیگه، الان این از لحاظ امنیت واسه رمزگذاری خوبه یا نه هنوز؟ و اینکه اگر یکی تابع انکود رو داشته باشه فقط، دیگه لازم نیست تابع دیکود رو داشته باشه و اگر خودش برنامه نویس باشه میتونه سر در بیاره که تابع دیکود چی میتونه باشه؟

behnamy01
پنج شنبه 03 مهر 1393, 12:43 عصر
یکی لطفا توضیح بده

Mori Bone
پنج شنبه 03 مهر 1393, 12:55 عصر
در این حد که میدونم که کارش چیه این دو تا تابع میخواستم بدونم مثلا اون تابع mcrypt_create_iv چیه کارش و ورودی هایی که بهش داده باز چیه؟!
برای کاربرد توابع اینقدر توی وب توضیح زیاده که توضیح در اینجا باعث ایجاد پست اسپم میشه. تابعتون رو گوگل کنید