-redef class String
- # returns the md5 digest of the receiver string
- # algorithm implemented by L. Peter Deutsch <ghost@aladdin.com>
- fun md5: String import String::to_cstring, NativeString::to_s, String::print `{
+redef class Text
+ # MD5 digest of `self`
+ #
+ # ~~~
+ # assert "".md5 == "d41d8cd98f00b204e9800998ecf8427e"
+ # assert "a".md5 == "0cc175b9c0f1b6a831c399e269772661"
+ # assert "abc".md5 == "900150983cd24fb0d6963f7d28e17f72"
+ # ~~~
+ fun md5: String do return to_cstring.native_md5.to_s
+end
+
+redef class NativeString
+ private fun native_md5: NativeString `{