blob: 662fc9b948ef86a25fba998167340811f0e66488 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?php
namespace Safe;
use Safe\Exceptions\SsdeepException;
/**
* Calculates the match score between signature1
* and signature2 using
* context-triggered piecewise hashing, and returns the match
* score.
*
* @param string $signature1 The first fuzzy hash signature string.
* @param string $signature2 The second fuzzy hash signature string.
* @return int Returns an integer from 0 to 100 on success, FALSE otherwise.
* @throws SsdeepException
*
*/
function ssdeep_fuzzy_compare(string $signature1, string $signature2): int
{
error_clear_last();
$result = \ssdeep_fuzzy_compare($signature1, $signature2);
if ($result === false) {
throw SsdeepException::createFromPhpError();
}
return $result;
}
/**
* ssdeep_fuzzy_hash_filename calculates the hash
* of the file specified by file_name using
* context-triggered piecewise
* hashing, and returns that hash.
*
* @param string $file_name The filename of the file to hash.
* @return string Returns a string on success, FALSE otherwise.
* @throws SsdeepException
*
*/
function ssdeep_fuzzy_hash_filename(string $file_name): string
{
error_clear_last();
$result = \ssdeep_fuzzy_hash_filename($file_name);
if ($result === false) {
throw SsdeepException::createFromPhpError();
}
return $result;
}
/**
* ssdeep_fuzzy_hash calculates the hash of
* to_hash using
* context-triggered piecewise hashing, and returns that hash.
*
* @param string $to_hash The input string.
* @return string Returns a string on success, FALSE otherwise.
* @throws SsdeepException
*
*/
function ssdeep_fuzzy_hash(string $to_hash): string
{
error_clear_last();
$result = \ssdeep_fuzzy_hash($to_hash);
if ($result === false) {
throw SsdeepException::createFromPhpError();
}
return $result;
}
|