• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رمز نگاری mcrypt_encrypt
#1
سلام دوستان بنده از php ورژن 5.3.1 استفاده میکنم علت کار نکردن این قطعه کد چیه؟
کد پی‌اچ‌پی:
class encrypt {
    
/********* Encode *********/
    public static function encode($pure_string$encryption_key) {
        $iv_size mcrypt_get_iv_size(MCRYPT_BLOWFISHMCRYPT_MODE_ECB);
        $iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);
        $encrypted_string mcrypt_encrypt(MCRYPT_BLOWFISHmd5(base64_encode(trim($encryption_key))), utf8_encode(trim($pure_string)), MCRYPT_MODE_ECB$iv);
        return base64_encode($encrypted_string);
    }
 
    
/********** Decode ************ */
    public static function decode($encrypted_string$encryption_key) {
        $iv_size mcrypt_get_iv_size(MCRYPT_BLOWFISHMCRYPT_MODE_ECB);
        $iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);
        $decrypted_string mcrypt_decrypt(MCRYPT_BLOWFISHmd5(base64_encode(trim($encryption_key))),base64_decode(trim($encrypted_string)), MCRYPT_MODE_ECB$iv);
        return $decrypted_string;
    }
 

فکر میکنم در قسمت decode ایرادی داره کمک کنید لطفا ممنونم از وقتی که میگذارید..
  پاسخ
تشکر شده توسط :
#2
از این کلاس استفاده کن
احتمالا مشکلت روی ویندوز هست .

کد پی‌اچ‌پی:
class Security {
    public static function 
encrypt($input$key) {
        
$size mcrypt_get_block_size(MCRYPT_RIJNDAEL_128MCRYPT_MODE_ECB); 
        
$input Security::pkcs5_pad($input$size); 
        
$td mcrypt_module_open(MCRYPT_RIJNDAEL_128''MCRYPT_MODE_ECB''); 
        
$iv mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); 
        
mcrypt_generic_init($td$key$iv); 
        
$data mcrypt_generic($td$input); 
        
mcrypt_generic_deinit($td); 
        
mcrypt_module_close($td); 
        
$data base64_encode($data); 
        return 
$data
    } 
    
    
    public static function 
decrypt($sStr$sKey) {
        
$decryptedmcrypt_decrypt(
            
MCRYPT_RIJNDAEL_128,
            
$sKey
            
base64_decode($sStr), 
            
MCRYPT_MODE_ECB
        
);
        
$dec_s strlen($decrypted); 
        
$padding ord($decrypted[$dec_s-1]); 
        
$decrypted substr($decrypted0, -$padding);
        return 
$decrypted;
    }
    
    
    private static function 
pkcs5_pad ($text$blocksize) { 
        
$pad $blocksize - (strlen($text) % $blocksize); 
        return 
$text str_repeat(chr($pad), $pad); 
    } 
        

وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : Y.P.Y ayoubsys


پرش به انجمن:


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