With the checksums.process vocabulary any console utility can be used to checksum data, provided it supports a certain interface: it should accept input data on STDIN and output result to STDOUT. The output should consist of the hexadecimal checksum string, terminated with a blank? character. For instance, all the checksums from the GNU CoreUtils package support this mode of operation as the default.
The checksum-process tuple holds a launch descriptor (see Launch descriptors) of the utility, e.g. "sha1sum". When the initialize-checksum-state method is called on it, a new instance of the checksum utility is started in the background. In Factor it is represented by the process-state tuple. You can then use add-checksum-bytes to stream data to it. When done, call get-checksum to read the resulting checksum and dispose of the tuple in one step. If you want to cancel the work without calling get-checksum, you must dispose of the tuple so that the underlying process is terminated.