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;
?>
<?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;
?>