mmir.tools.ChecksumUtils
A Utility class for creating / reading checksum (files).
Requires
- module:CryptoJS
Methods
-
createContent(originalText, additionalInfo){String}
-
Creates the content for a checksum file, containing information about the size and hash-value for the supplied String argument. The result can be "written as is" to a file.
Name Type Description originalTextString the "raw" text for which to generate the checksum information additionalInfoString optional OPTIONAL additional information to include in the checksum information (must not contain whitespaces) Returns:
Type Description String the checksum information as a String (formatted as content of a checksum file) -
getConentSeparator(){String}
-
The Char used for separating fields within checksum files.
Returns:
Type Description String the separator char (TAB) -
getFileExt(){String}
-
Returns the file extension for checksum-files. CONST
Returns:
Type Description String the default file extension for checksum files (including the separating dot, eg. ".checksum.txt") -
init(cryptoImpl)
-
Must be called before using checksum-generation: sets/initializes the object/function for checksum generation. After first call, following calls to this function will have no effect.
Name Type Description cryptoImplCryptoJS optional OPTIONAL if omitted, the (global!) variable CryptoJSis used by default. This argument should be the CryptoJS object containing the MD5 function/algorithm, i.e. CryptoJS.MD5() must be a function! -
isSame(rawTextContent, referenceHash, additionalInfo){Boolean}
-
Check if the length / checksum for a raw text is the same as the checksum-information. NOTE: The actual checksum for the raw text is only generated & checked, if the size is equal.
Name Type Description rawTextContentString the (raw) text/content which should be checked referenceHashString | PlainObject the checksum information to check against: either the raw content (String) of a checksum file, or the parsed contents of a checksum file, which is a PlainObject with properties: { size: INTEGER, hash: STRING, info?: STRING } additionalInfoString optional OPTIONAL if referenceHash is a PlainObject with info property and additionalInfo must match the info property, otherwise the verification return FALSE Returns:
Type Description Boolean trueif the raw content matches the hash -
parseContent(rawTextContent){PlainObject}
-
Parses the raw text-content of a checksum file and returns an object with properties:
{ size: INTEGER, hash: STRING }Name Type Description rawTextContentString the raw conent of a checksum file Returns:
Type Description PlainObject an object with the extracted properties from the checksum-data: { size: INTEGER, hash: STRING, info?: STRING }