请大家帮我翻译一下这段C#代码到Delphi

crackman 2015-11-17 04:41:42
环境是Delphi 7.0,C#代码如下:

using System;
using System.Security.Cryptography;

public class Test
{
public static void Main()
{
string pwd="0";
SHA1 sha1 = SHA1.Create();
byte[] bytResult = sha1.ComputeHash( System.Text.Encoding.UTF8.GetBytes(pwd));
string pwdAfter = Convert.ToBase64String(bytResult);
Console.WriteLine(pwdAfter);
}
}



...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
crackman 2015-11-18
  • 打赏
  • 举报
回复
引用 8 楼 pathletboy 的回复:
function EncodeAnsi(const s: string): string;
var
  sha1_bytes: TSHA1Digest;
  base64_stream: TStream;
begin
  sha1_bytes := SHA1String(AnsiToUtf8(s));
  base64_stream := TMemoryStream.Create;
  try
    base64_stream.WriteBuffer(sha1_bytes, SizeOf(sha1_bytes));
    base64_stream.Position := 0;
    Base64Encode(base64_stream, Result);
  finally
    base64_stream.Free;
  end;
end;
用到了cnvcl的CnSHA1、CnBase64 D7/D2007测试通过。 http://pan.baidu.com/s/1c01A1Ug
非常感谢
pathletboy 2015-11-18
  • 打赏
  • 举报
回复
function EncodeAnsi(const s: string): string;
var
  sha1_bytes: TSHA1Digest;
  base64_stream: TStream;
begin
  sha1_bytes := SHA1String(AnsiToUtf8(s));
  base64_stream := TMemoryStream.Create;
  try
    base64_stream.WriteBuffer(sha1_bytes, SizeOf(sha1_bytes));
    base64_stream.Position := 0;
    Base64Encode(base64_stream, Result);
  finally
    base64_stream.Free;
  end;
end;
用到了cnvcl的CnSHA1、CnBase64 D7/D2007测试通过。 http://pan.baidu.com/s/1c01A1Ug
tcmakebest 2015-11-18
  • 打赏
  • 举报
回复
何不把高版本中的源码弄出来到D7编译, 有吗
Mr Dang 2015-11-17
  • 打赏
  • 举报
回复
高版本的封装成动态库给d7调用就好了
crackman 2015-11-17
  • 打赏
  • 举报
回复
引用 3 楼 doloopcn 的回复:
TEncoding.UTF8 之前D7我在一个项目中被它搞的焦头烂额,后来用idhttp才解决这个UTF8转换的问题 var MyHttp:TIdHTTP; .... TidURI.URLDecode(MyHttp.Get(TIdURI.URLEncode(uploadstr))) 总之D7中我使用TEncoding.UTF8这方法的过程中是有中文有乱码 另外 ,你是非得用C#中的加密算法还是非必要的? 如果非必要可以参考我的下载资源中的加密方法,希望对你有帮助 水平有限,太高水平的算法不精,请多多包函
我的目的就是想实现C#中的加密算法,例如“123” 加密后的结果应该是 QL0AFWMIX8NRZTKeof9cXsvbvu8=
crackman 2015-11-17
  • 打赏
  • 举报
回复
并且关键是还得用delphi7
doloopcn 2015-11-17
  • 打赏
  • 举报
回复
TEncoding.UTF8 之前D7我在一个项目中被它搞的焦头烂额,后来用idhttp才解决这个UTF8转换的问题 var MyHttp:TIdHTTP; .... TidURI.URLDecode(MyHttp.Get(TIdURI.URLEncode(uploadstr))) 总之D7中我使用TEncoding.UTF8这方法的过程中是有中文有乱码 另外 ,你是非得用C#中的加密算法还是非必要的? 如果非必要可以参考我的下载资源中的加密方法,希望对你有帮助 水平有限,太高水平的算法不精,请多多包函
crackman 2015-11-17
  • 打赏
  • 举报
回复
引用 1 楼 doloopcn 的回复:
C#...... 不懂反编,因为DELPHI中我还没有用过HASH方法 不过XE10肯定可以支持HASH方法了 程序的大概意思: string pwd="0";你要加密的字符串 SHA1 sha1 = SHA1.Create();应该建立一个哈希类 byte[] bytResult = sha1.ComputeHash( System.Text.Encoding.UTF8.GetBytes(pwd));用哈希算法加密字符串 string pwdAfter = Convert.ToBase64String(bytResult);用BASE64算法加密已经用哈希算法加密过的字符串 Console.WriteLine(pwdAfter);在控制台上输出最终加密结果 } 你直接度娘DELPHI的HASH例子好了 http://blog.csdn.net/xiongmao000738/article/details/7565774 https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&ch=6&tn=myie2dg&wd=hash%20md5%20DELPHI&oq=hash%20md5&rsv_pq=cc24bf7100017cca&rsv_t=bc7cJGq8b8C4oOrSV6ugwXhsa2fhV6MJpW%2Fehk4fWw7cbb7rGvrY%2BuSWGuiQsw&rsv_enter=1&rsv_sug3=6&rsv_sug1=1&rsv_sug2=0&inputT=3471&rsv_sug4=3471
C#的代码我能读懂,但是我想要把这段代码转成Delphi7下。如果是高版本的delphi都没问题,但是delphi7不会。 例如“123” 转换后的结果应该是 QL0AFWMIX8NRZTKeof9cXsvbvu8= 另外再附个高版本delphi的代码,里面SHA1用的是cnvcl里的代码 procedure TForm1.btn1Click(Sender: TObject); var Digest: TSHA1Digest; utf8Stream: TStringStream; s2,s4:AnsiString; begin utf8Stream:=TStringStream.Create('121122',TEncoding.UTF8); Digest:= SHA1Buffer(utf8Stream.Bytes,Length(utf8Stream.Bytes)); s2:=EncodeBase64(@Digest[0],Length(Digest)); edt2.Text:= string(s2); end;
doloopcn 2015-11-17
  • 打赏
  • 举报
回复
C#...... 不懂反编,因为DELPHI中我还没有用过HASH方法 不过XE10肯定可以支持HASH方法了 程序的大概意思: string pwd="0";你要加密的字符串 SHA1 sha1 = SHA1.Create();应该建立一个哈希类 byte[] bytResult = sha1.ComputeHash( System.Text.Encoding.UTF8.GetBytes(pwd));用哈希算法加密字符串 string pwdAfter = Convert.ToBase64String(bytResult);用BASE64算法加密已经用哈希算法加密过的字符串 Console.WriteLine(pwdAfter);在控制台上输出最终加密结果 } 你直接度娘DELPHI的HASH例子好了 http://blog.csdn.net/xiongmao000738/article/details/7565774 https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&ch=6&tn=myie2dg&wd=hash%20md5%20DELPHI&oq=hash%20md5&rsv_pq=cc24bf7100017cca&rsv_t=bc7cJGq8b8C4oOrSV6ugwXhsa2fhV6MJpW%2Fehk4fWw7cbb7rGvrY%2BuSWGuiQsw&rsv_enter=1&rsv_sug3=6&rsv_sug1=1&rsv_sug2=0&inputT=3471&rsv_sug4=3471

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧