各位兄弟姐妹有没有delphi的MD5算法的denmo,小弟在项目中遇到棘手就是客户那边的要求用MD5加密,而且要用密钥的,但是我网上找了很多资料都没见到带密钥参数的算法,现在项目就卡在这里了,各位帮帮忙

解决方案 »

  1.   

    MD5 是破坏性加密,加密时是不存在密钥的。但是也有一种方法是人工添加密钥混合进明文中:  比如:   明文是“ABCDEFG”  ,密钥是“ABC123”
     
               那么用MD5加密前把 明文+密钥 “ABCDEFGABC123” 后再用 MD5加密。
     
      

  2.   

    给你个函数,XE中没问题,其他版本没试过uses IdHashMessageDigest;function MD5(input:string):string;
    var
      MyMD5 : TIdHashMessageDigest5;
    begin
      MyMD5 := TIdHashMessageDigest5.Create;
    try
      result:= MyMD5.HashStringAsHex(input);
    finally
      MyMD5.Free;
    end;end;