首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

相关delphi的utf8,sha-1和base64

2012-12-31 
有关delphi的utf8,sha-1和base64C#代码是这样的:public string Hash(string text){var data Encoding.UT

有关delphi的utf8,sha-1和base64
C#代码是这样的:

public string Hash(string text)
{
var data = Encoding.UTF8.GetBytes(text);
SHA1 sha = new SHA1CryptoServiceProvider();
var code = sha.ComputeHash(data);

return Convert.ToBase64String(code);
}

text是121122
return是wZ6LpbQl6S2GtHGsAasNJAark7E=

delphi好像没有标准的SHA1的转码函数,base64的找到了,在EncdDecd这个单元里有,我怎么写都写不出.net转码的结果。
delphi已经被我写成这样了,已经完全晕了,请高手帮我看看,我是神马地方搞错了。
procedure TForm1.btn1Click(Sender: TObject);
var
    Context:   TSHA1Context;
    Digest:   TSHA1Digest;
    s:   string;
    sm_in,sm_out: TStringStream;
    buf:TBytes;
begin
    s:=UTF8Encode('121122');
    SHA1Init(Context);
    SHA1Update(Context,@s[1],length(s));
    SHA1Final(Context,Digest);
    SetLength(buf,Length(Digest));
    move(Digest[0],buf[0],Length(Digest));
    //buf:=Digest;
    sm_in:=TStringStream.Create(buf);
    sm_out:=TStringStream.Create;
    EncodeStream(sm_in, sm_out);
    ShowMessage(sm_out.DataString);
end;


谁能帮帮我。。。。
[解决办法]
delphi官方没有出sha1
可以下载个cnvcl,里面有sha1.pas

热点排行