2021-02-26 16:16:17 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Safe;
|
|
|
|
|
|
|
|
use Safe\Exceptions\StringsException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* convert_uudecode decodes a uuencoded string.
|
|
|
|
*
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param string $string The uuencoded data.
|
2021-02-26 16:16:17 +00:00
|
|
|
* @return string Returns the decoded data as a string.
|
|
|
|
* @throws StringsException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function convert_uudecode(string $string): string
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \convert_uudecode($string);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw StringsException::createFromPhpError();
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Decodes a hexadecimally encoded binary string.
|
|
|
|
*
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param string $string Hexadecimal representation of data.
|
2021-02-26 16:16:17 +00:00
|
|
|
* @return string Returns the binary representation of the given data.
|
|
|
|
* @throws StringsException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function hex2bin(string $string): string
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \hex2bin($string);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw StringsException::createFromPhpError();
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Calculates the MD5 hash of the file specified by the
|
|
|
|
* filename parameter using the
|
|
|
|
* RSA Data Security, Inc.
|
|
|
|
* MD5 Message-Digest Algorithm, and returns that hash.
|
|
|
|
* The hash is a 32-character hexadecimal number.
|
|
|
|
*
|
|
|
|
* @param string $filename The filename
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param bool $binary When TRUE, returns the digest in raw binary format with a length of
|
2021-02-26 16:16:17 +00:00
|
|
|
* 16.
|
|
|
|
* @return string Returns a string on success, FALSE otherwise.
|
|
|
|
* @throws StringsException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function md5_file(string $filename, bool $binary = false): string
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \md5_file($filename, $binary);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw StringsException::createFromPhpError();
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @param string $filename The filename of the file to hash.
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param bool $binary When TRUE, returns the digest in raw binary format with a length of
|
2021-02-26 16:16:17 +00:00
|
|
|
* 20.
|
|
|
|
* @return string Returns a string on success, FALSE otherwise.
|
|
|
|
* @throws StringsException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function sha1_file(string $filename, bool $binary = false): string
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \sha1_file($filename, $binary);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw StringsException::createFromPhpError();
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|