pkcs5_pad 補碼算法

補碼前的數(shù)據(jù):b31d2458000000000000865067022840600001
補碼后的數(shù)據(jù):b31d24580000000000008650670228406000010d0d0d0d0d0d0d0d0d0d0d0d0d

// pkcs5_pad 補碼算法

private static function pkcs5_pad($text, $blocksize){   
     $pad = $blocksize - (strlen($text) % $blocksize);   
     return $text . str_repeat(chr($pad), $pad);
}

// 這段代碼有問題

public static function remove_pkcs_pad($decrypted)
{
    $dec_s = strlen($decrypted);
    $padding = ord($decrypted[ $dec_s - 1 ]);
    $decrypted = substr($decrypted, 0, - $padding);
    return $decrypted;
}

// 該段代碼需要驗證

public function remove_pkcs_pad2() 
{
        $complement = substr($decrypted_hex, strlen($decrypted_hex) - 2, 2);
        $complement = base_convert($complement, 16, 10);
        if ($complement < strlen($decrypted_hex)) {   
            $decrypted_hex = substr($decrypted_hex, 0, -1 * $complement * 2);
        }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容