#!/usr/bin/rexx parse arg ifn -- get input filename input_stream = .stream~new(ifn) message_digest = .md5~new do while input_stream~chars>0 -- calculate digest in chunks of 256 bytes message_digest~update(input_stream~charin(,256)) end say message_digest~digest exit ::requires "md5.cls"