有关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);}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;