function GetStringMd5(str: string; UTF8_Encode: Boolean = true;
tolow: Boolean = false;key:string='';tohex:Boolean=true): string;
var s:string;
begin
s:=str+key;
if tolow then
s := LowerCase(s);
if UTF8_Encode = false then
begin
if tohex then
result := MD5Print(MD5String(s))
else
result := MD5ToStr(MD5String(s));
end
else
begin
if tohex then
result := MD5Print(MD5String(UTF8Encode(s)))
else
result := MD5ToStr(MD5String(UTF8Encode(s)));
end;