TYPO3 CMS  TYPO3_6-2
AbstractSalt.php
Go to the documentation of this file.
1 <?php
3 
23 abstract class AbstractSalt {
24 
32  abstract protected function applySettingsToSalt($salt);
33 
39  abstract protected function getGeneratedSalt();
40 
46  abstract protected function getItoa64();
47 
53  abstract protected function getSetting();
54 
62  public function base64Encode($input, $count) {
63  $output = '';
64  $i = 0;
65  $itoa64 = $this->getItoa64();
66  do {
67  $value = ord($input[$i++]);
68  $output .= $itoa64[$value & 63];
69  if ($i < $count) {
70  $value |= ord($input[$i]) << 8;
71  }
72  $output .= $itoa64[$value >> 6 & 63];
73  if ($i++ >= $count) {
74  break;
75  }
76  if ($i < $count) {
77  $value |= ord($input[$i]) << 16;
78  }
79  $output .= $itoa64[$value >> 12 & 63];
80  if ($i++ >= $count) {
81  break;
82  }
83  $output .= $itoa64[$value >> 18 & 63];
84  } while ($i < $count);
85  return $output;
86  }
87 
95  protected function getLengthBase64FromBytes($byteLength) {
96  // Calculates bytes in bits in base64
97  return (int)ceil($byteLength * 8 / 6);
98  }
99 
100 }