Source of file Pkcs7.php
Size: 1,277 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Crypt/Symmetric/Padding/Pkcs7.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Crypt\Symmetric\Padding; /** * PKCS#7 padding */ class Pkcs7 implements PaddingInterface { /** * Pad the string to the specified size * * @param string $string The string to pad * @param int $blockSize The size to pad to * * @return string The padded string */ public function pad($string, $blockSize = 32) { $pad = $blockSize - (strlen($string) % $blockSize); return $string . str_repeat(chr($pad), $pad); } /** * Strip the padding from the supplied string * * @param string $string The string to trim * * @return string The unpadded string */ public function strip($string) { $end = substr($string, -1); $last = ord($end); $len = strlen($string) - $last; if (substr($string, $len) == str_repeat($end, $last)) { return substr($string, 0, $len); } return false; } } |