PluginProbe ʕ •ᴥ•ʔ
Wp Social Login and Register Social Counter / 3.2.1
Wp Social Login and Register Social Counter v3.2.1
3.2.1 trunk 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.10 1.3.11 1.3.2 1.3.3 1.3.4 1.3.6 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.4 1.4.5 1.4.6 1.4.8 1.4.9 1.5.0 1.6.0 1.6.1 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.8.0 1.8.1 1.8.2 1.8.3 1.8.5 1.8.6 1.9.0 2.0.0 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.8 2.2.9 3.0.0 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0
wp-social / lib / composer / vendor / paragonie / constant_time_encoding / src / Encoding.php
wp-social / lib / composer / vendor / paragonie / constant_time_encoding / src Last commit date
Base32.php 1 year ago Base32Hex.php 1 year ago Base64.php 1 year ago Base64DotSlash.php 1 year ago Base64DotSlashOrdered.php 1 year ago Base64UrlSafe.php 1 year ago Binary.php 1 year ago EncoderInterface.php 1 year ago Encoding.php 1 year ago Hex.php 1 year ago RFC4648.php 1 year ago
Encoding.php
299 lines
1 <?php
2 declare(strict_types=1);
3 namespace ParagonIE\ConstantTime;
4
5 use TypeError;
6
7 /**
8 * Copyright (c) 2016 - 2022 Paragon Initiative Enterprises.
9 * Copyright (c) 2014 Steve "Sc00bz" Thomas (steve at tobtu dot com)
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining a copy
12 * of this software and associated documentation files (the "Software"), to deal
13 * in the Software without restriction, including without limitation the rights
14 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 * copies of the Software, and to permit persons to whom the Software is
16 * furnished to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be included in all
19 * copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27 * SOFTWARE.
28 */
29
30 /**
31 * Class Encoding
32 * @package ParagonIE\ConstantTime
33 */
34 abstract class Encoding
35 {
36 /**
37 * RFC 4648 Base32 encoding
38 *
39 * @param string $str
40 * @return string
41 * @throws TypeError
42 */
43 public static function base32Encode(
44 #[\SensitiveParameter]
45 string $str
46 ): string {
47 return Base32::encode($str);
48 }
49
50 /**
51 * RFC 4648 Base32 encoding
52 *
53 * @param string $str
54 * @return string
55 * @throws TypeError
56 */
57 public static function base32EncodeUpper(
58 #[\SensitiveParameter]
59 string $str
60 ): string {
61 return Base32::encodeUpper($str);
62 }
63
64 /**
65 * RFC 4648 Base32 decoding
66 *
67 * @param string $str
68 * @return string
69 * @throws TypeError
70 */
71 public static function base32Decode(
72 #[\SensitiveParameter]
73 string $str
74 ): string {
75 return Base32::decode($str);
76 }
77
78 /**
79 * RFC 4648 Base32 decoding
80 *
81 * @param string $str
82 * @return string
83 * @throws TypeError
84 */
85 public static function base32DecodeUpper(
86 #[\SensitiveParameter]
87 string $str
88 ): string {
89 return Base32::decodeUpper($str);
90 }
91
92 /**
93 * RFC 4648 Base32 encoding
94 *
95 * @param string $str
96 * @return string
97 * @throws TypeError
98 */
99 public static function base32HexEncode(
100 #[\SensitiveParameter]
101 string $str
102 ): string {
103 return Base32Hex::encode($str);
104 }
105
106 /**
107 * RFC 4648 Base32Hex encoding
108 *
109 * @param string $str
110 * @return string
111 * @throws TypeError
112 */
113 public static function base32HexEncodeUpper(
114 #[\SensitiveParameter]
115 string $str
116 ): string {
117 return Base32Hex::encodeUpper($str);
118 }
119
120 /**
121 * RFC 4648 Base32Hex decoding
122 *
123 * @param string $str
124 * @return string
125 * @throws TypeError
126 */
127 public static function base32HexDecode(
128 #[\SensitiveParameter]
129 string $str
130 ): string {
131 return Base32Hex::decode($str);
132 }
133
134 /**
135 * RFC 4648 Base32Hex decoding
136 *
137 * @param string $str
138 * @return string
139 * @throws TypeError
140 */
141 public static function base32HexDecodeUpper(
142 #[\SensitiveParameter]
143 string $str
144 ): string {
145 return Base32Hex::decodeUpper($str);
146 }
147
148 /**
149 * RFC 4648 Base64 encoding
150 *
151 * @param string $str
152 * @return string
153 * @throws TypeError
154 */
155 public static function base64Encode(
156 #[\SensitiveParameter]
157 string $str
158 ): string {
159 return Base64::encode($str);
160 }
161
162 /**
163 * RFC 4648 Base64 decoding
164 *
165 * @param string $str
166 * @return string
167 * @throws TypeError
168 */
169 public static function base64Decode(
170 #[\SensitiveParameter]
171 string $str
172 ): string {
173 return Base64::decode($str);
174 }
175
176 /**
177 * Encode into Base64
178 *
179 * Base64 character set "./[A-Z][a-z][0-9]"
180 * @param string $str
181 * @return string
182 * @throws TypeError
183 */
184 public static function base64EncodeDotSlash(
185 #[\SensitiveParameter]
186 string $str
187 ): string {
188 return Base64DotSlash::encode($str);
189 }
190
191 /**
192 * Decode from base64 to raw binary
193 *
194 * Base64 character set "./[A-Z][a-z][0-9]"
195 *
196 * @param string $str
197 * @return string
198 * @throws \RangeException
199 * @throws TypeError
200 */
201 public static function base64DecodeDotSlash(
202 #[\SensitiveParameter]
203 string $str
204 ): string {
205 return Base64DotSlash::decode($str);
206 }
207
208 /**
209 * Encode into Base64
210 *
211 * Base64 character set "[.-9][A-Z][a-z]" or "./[0-9][A-Z][a-z]"
212 * @param string $str
213 * @return string
214 * @throws TypeError
215 */
216 public static function base64EncodeDotSlashOrdered(
217 #[\SensitiveParameter]
218 string $str
219 ): string {
220 return Base64DotSlashOrdered::encode($str);
221 }
222
223 /**
224 * Decode from base64 to raw binary
225 *
226 * Base64 character set "[.-9][A-Z][a-z]" or "./[0-9][A-Z][a-z]"
227 *
228 * @param string $str
229 * @return string
230 * @throws \RangeException
231 * @throws TypeError
232 */
233 public static function base64DecodeDotSlashOrdered(
234 #[\SensitiveParameter]
235 string $str
236 ): string {
237 return Base64DotSlashOrdered::decode($str);
238 }
239
240 /**
241 * Convert a binary string into a hexadecimal string without cache-timing
242 * leaks
243 *
244 * @param string $bin_string (raw binary)
245 * @return string
246 * @throws TypeError
247 */
248 public static function hexEncode(
249 #[\SensitiveParameter]
250 string $bin_string
251 ): string {
252 return Hex::encode($bin_string);
253 }
254
255 /**
256 * Convert a hexadecimal string into a binary string without cache-timing
257 * leaks
258 *
259 * @param string $hex_string
260 * @return string (raw binary)
261 * @throws \RangeException
262 */
263 public static function hexDecode(
264 #[\SensitiveParameter]
265 string $hex_string
266 ): string {
267 return Hex::decode($hex_string);
268 }
269
270 /**
271 * Convert a binary string into a hexadecimal string without cache-timing
272 * leaks
273 *
274 * @param string $bin_string (raw binary)
275 * @return string
276 * @throws TypeError
277 */
278 public static function hexEncodeUpper(
279 #[\SensitiveParameter]
280 string $bin_string
281 ): string {
282 return Hex::encodeUpper($bin_string);
283 }
284
285 /**
286 * Convert a binary string into a hexadecimal string without cache-timing
287 * leaks
288 *
289 * @param string $bin_string (raw binary)
290 * @return string
291 */
292 public static function hexDecodeUpper(
293 #[\SensitiveParameter]
294 string $bin_string
295 ): string {
296 return Hex::decode($bin_string);
297 }
298 }
299