: [0-9]-char? ( chr -- ? ) [ length 2 < ] [ first [ 48 > ] [ 57 < ] bi and ] bi and ; : string>md5 ( str -- md5 ) md5 checksum-bytes >array [ >hex dup [0-9]-char? [ CHAR: 0 prefix ] when ] map "" join ;