run:R W Run
3.57 KB
2026-03-11 16:18:52
R W Run
error_log
📄State.php
1<?php
2
3/**
4 * Class ParagonIE_Sodium_Core32_SecretStream_State
5 */
6class ParagonIE_Sodium_Core32_SecretStream_State
7{
8 /** @var string $key */
9 protected $key;
10
11 /** @var int $counter */
12 protected $counter;
13
14 /** @var string $nonce */
15 protected $nonce;
16
17 /** @var string $_pad */
18 protected $_pad;
19
20 /**
21 * ParagonIE_Sodium_Core32_SecretStream_State constructor.
22 * @param string $key
23 * @param string|null $nonce
24 */
25 public function __construct($key, $nonce = null)
26 {
27 $this->key = $key;
28 $this->counter = 1;
29 if (is_null($nonce)) {
30 $nonce = str_repeat("\0", 12);
31 }
32 $this->nonce = str_pad($nonce, 12, "\0", STR_PAD_RIGHT);;
33 $this->_pad = str_repeat("\0", 4);
34 }
35
36 /**
37 * @return self
38 */
39 public function counterReset()
40 {
41 $this->counter = 1;
42 $this->_pad = str_repeat("\0", 4);
43 return $this;
44 }
45
46 /**
47 * @return string
48 */
49 public function getKey()
50 {
51 return $this->key;
52 }
53
54 /**
55 * @return string
56 */
57 public function getCounter()
58 {
59 return ParagonIE_Sodium_Core32_Util::store32_le($this->counter);
60 }
61
62 /**
63 * @return string
64 */
65 public function getNonce()
66 {
67 if (!is_string($this->nonce)) {
68 $this->nonce = str_repeat("\0", 12);
69 }
70 if (ParagonIE_Sodium_Core32_Util::strlen($this->nonce) !== 12) {
71 $this->nonce = str_pad($this->nonce, 12, "\0", STR_PAD_RIGHT);
72 }
73 return $this->nonce;
74 }
75
76 /**
77 * @return string
78 */
79 public function getCombinedNonce()
80 {
81 return $this->getCounter() .
82 ParagonIE_Sodium_Core32_Util::substr($this->getNonce(), 0, 8);
83 }
84
85 /**
86 * @return self
87 */
88 public function incrementCounter()
89 {
90 ++$this->counter;
91 return $this;
92 }
93
94 /**
95 * @return bool
96 */
97 public function needsRekey()
98 {
99 return ($this->counter & 0xffff) === 0;
100 }
101
102 /**
103 * @param string $newKeyAndNonce
104 * @return self
105 */
106 public function rekey($newKeyAndNonce)
107 {
108 $this->key = ParagonIE_Sodium_Core32_Util::substr($newKeyAndNonce, 0, 32);
109 $this->nonce = str_pad(
110 ParagonIE_Sodium_Core32_Util::substr($newKeyAndNonce, 32),
111 12,
112 "\0",
113 STR_PAD_RIGHT
114 );
115 return $this;
116 }
117
118 /**
119 * @param string $str
120 * @return self
121 */
122 public function xorNonce($str)
123 {
124 $this->nonce = ParagonIE_Sodium_Core32_Util::xorStrings(
125 $this->getNonce(),
126 str_pad(
127 ParagonIE_Sodium_Core32_Util::substr($str, 0, 8),
128 12,
129 "\0",
130 STR_PAD_RIGHT
131 )
132 );
133 return $this;
134 }
135
136 /**
137 * @param string $string
138 * @return self
139 */
140 public static function fromString($string)
141 {
142 $state = new ParagonIE_Sodium_Core32_SecretStream_State(
143 ParagonIE_Sodium_Core32_Util::substr($string, 0, 32)
144 );
145 $state->counter = ParagonIE_Sodium_Core32_Util::load_4(
146 ParagonIE_Sodium_Core32_Util::substr($string, 32, 4)
147 );
148 $state->nonce = ParagonIE_Sodium_Core32_Util::substr($string, 36, 12);
149 $state->_pad = ParagonIE_Sodium_Core32_Util::substr($string, 48, 8);
150 return $state;
151 }
152
153 /**
154 * @return string
155 */
156 public function toString()
157 {
158 return $this->key .
159 $this->getCounter() .
160 $this->nonce .
161 $this->_pad;
162 }
163}
164
Ui Ux Design – Teachers Night Out https://cardgames4educators.com Wed, 16 Oct 2024 22:24:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://cardgames4educators.com/wp-content/uploads/2024/06/cropped-Card-4-Educators-logo-32x32.png Ui Ux Design – Teachers Night Out https://cardgames4educators.com 32 32 Masters In English How English Speaker https://cardgames4educators.com/masters-in-english-how-english-speaker/ https://cardgames4educators.com/masters-in-english-how-english-speaker/#comments Mon, 27 May 2024 08:54:45 +0000 https://themexriver.com/wp/kadu/?p=1

Erat himenaeos neque id sagittis massa. Hac suscipit pulvinar dignissim platea magnis eu. Don tellus a pharetra inceptos efficitur dui pulvinar. Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent pulvinar odio volutpat parturient. Quisque risus finibus suspendisse mus purus magnis facilisi condimentum consectetur dui. Curae elit suspendisse cursus vehicula.

Turpis taciti class non vel pretium quis pulvinar tempor lobortis nunc. Libero phasellus parturient sapien volutpat malesuada ornare. Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae. Porta est tempor ex eget feugiat vulputate ipsum. Justo nec iaculis habitant diam arcu fermentum.

We offer comprehen sive emplo ment services such as assistance wit employer compliance.Our company is your strategic HR partner as instead of HR. john smithson

Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae.

Exploring Learning Landscapes in Academic

Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent.

]]>
https://cardgames4educators.com/masters-in-english-how-english-speaker/feed/ 1