/monica/vendor/zendframework/zendframework/library/Zend/Crypt/Symmetric/Padding/Pkcs7.php
https://bitbucket.org/alexandretaz/maniac_divers · PHP · 49 lines · 20 code · 4 blank · 25 comment · 2 complexity · a5ef1016d0bbf4aba5aef856a0f28035 MD5 · raw file
- <?php
- /**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2013 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;
- }
- }