コード例 #1
0
ファイル: Des.php プロジェクト: hellohelloye/chinese-dukpt
        }
        /*         * ****************************** 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);