} /* * ****************************** 16 iteration **** */ for ($l = 0; $l < 32; $l++) { $right32_bit[$l] = $Data_B[33 + $l]; } self::Vect_Permutation($Data_B, 32, self::$E, 48, 33); if ($cryp_decrypt == 0) { self::_Xor($Data_B, self::$Ki[16], 48, 33, 1); } else { self::_Xor($Data_B, self::$Ki[1], 48, 33, 1); } self::S_Box_Calc($Data_B, 33); self::Vect_Permutation($Data_B, 32, self::$PP, 32, 33); self::_Xor($Data_B, $Data_B, 32, 1, 33); for ($j = 0; $j < 32; $j++) { $Data_B[33 + $j] = $right32_bit[$j]; } self::Vect_Permutation($Data_B, 64, self::$IPinv, 64, 1); self::Bin_to_Hex($DES_RESULT, $Data_B, 1); } } $DESKey = "abcdefgh"; $Data = "01234567890"; $Res = array(); DES::function_des(0, $Data, $DESKey, $Res); $des2 = mcrypt_encrypt(MCRYPT_DES, $DESKey, $Data, MCRYPT_MODE_ECB); $ascii = array(); for ($i = 0; $i < strlen($des2); $i++) { $ascii[] = ord($des2[$i]); } var_dump($Res, $ascii);