API Reference¶
Classes¶
- class ssdeep.Hash[source]¶
Hashlib like object. It is only supported with ssdeep/libfuzzy >= 2.10.
- Raises:
InternalError -- If lib returns internal error
NotImplementedError -- Required functions are not available
- property block_size¶
The block size used to calculate the hash. This depends on the length of the source string.
- Returns:
block size
- copy()[source]¶
Create a copy of this hash object.
- Returns:
Return a copy of the hash object.
- Return type:
- Raises:
InternalError -- If the lib returns an internal error
- digest(elimseq=False, notrunc=False)[source]¶
Obtain the fuzzy hash.
This operation does not change the state at all. It reports the hash for the concatenation of the data previously fed using update().
- Returns:
The fuzzy hash
- Return type:
String
- Raises:
InternalError -- If lib returns an internal error
- property name¶
The canonical name of this hash
- Returns:
ssdeep
- update(buf, encoding='utf-8')[source]¶
Feed the data contained in the given buffer to the state.
- Parameters:
buf (String|Byte) -- The data to be hashed
encoding (String) -- Encoding is used if buf is String
- Raises:
InternalError -- If lib returns an internal error
TypeError -- If buf is not Bytes, String or Unicode
- class ssdeep.PseudoHash[source]¶
Hashlib like object. Use this class only if Hash() isn't supported by your ssdeep/libfuzzy library. This class stores the provided data in memory, so be careful when hashing large files.
- property block_size¶
The block size used to calculate the hash. This depends on the length of the source string.
- Returns:
block size
- copy()[source]¶
Create a copy of this hash object.
- Returns:
Return a copy of the hash object.
- Return type:
- Raises:
InternalError -- If the lib returns an internal error
- digest(elimseq=False, notrunc=False)[source]¶
Obtain the fuzzy hash.
This operation does not change the state at all. It reports the hash for the concatenation of the data previously fed using update().
- Returns:
The fuzzy hash
- Return type:
String
- property name¶
The canonical name of this hash
- Returns:
ssdeep
Functions¶
- ssdeep.compare(sig1, sig2)[source]¶
Computes the match score between two fuzzy hash signatures.
Returns a value from zero to 100 indicating the match score of the two signatures. A match score of zero indicates the signatures did not match.
- Parameters:
sig1 (Bytes|String) -- First fuzzy hash signature
sig2 (Bytes|String) -- Second fuzzy hash signature
- Returns:
Match score (0-100)
- Return type:
Integer
- Raises:
InternalError -- If lib returns an internal error
TypeError -- If sig is not String, Unicode or Bytes
- ssdeep.hash(buf, encoding='utf-8')[source]¶
Compute the fuzzy hash of a buffer
- Parameters:
buf (String|Bytes) -- The data to be fuzzy hashed
- Returns:
The fuzzy hash
- Return type:
String
- Raises:
InternalError -- If lib returns an internal error
TypeError -- If buf is not String or Bytes
- ssdeep.hash_from_file(filename)[source]¶
Compute the fuzzy hash of a file.
Opens, reads, and hashes the contents of the file 'filename'
- Parameters:
filename (String|Bytes) -- The name of the file to be hashed
- Returns:
The fuzzy hash of the file
- Return type:
String
- Raises:
IOError -- If Python is unable to read the file
InternalError -- If lib returns an internal error