Delphi 2007版本如下获取:

单元引用 IdHashMessageDigest, IdHash;

特别注意的是, 在加密之前对字符串进行UTF8Encode操作. 参考如下:

unit uCryption;interfaceusesIdHashMessageDigest, IdHash, SysUtils;//MD16 MD32加密算法
function GetMD5_Encrypt16(param: string; bLow: Boolean= false): string; //16位加密
function GetMD5_Encrypt32(param: string; bLow: Boolean= false): string; //32位加密implementationfunction GetMD5_Encrypt16(param: string; bLow: Boolean): string;
varmd5: TIdHashMessageDigest5;Digest: T4x4LongWordRecord;
beginmd5 := TIdHashMessageDigest5.Create;Digest := md5.HashValue(UTF8Encode(param));if bLow thenResult := UpperCase(Copy(md5.AsHex(Digest), 9, 16))elseResult := LowerCase(Copy(md5.AsHex(Digest), 9, 16));
end;function GetMD5_Encrypt32(param: string; bLow: Boolean): string;
varmd5: TIdHashMessageDigest5;Digest: T4x4LongWordRecord;
beginmd5 := TIdHashMessageDigest5.Create;Digest := md5.HashValue(UTF8Encode(param));if bLow thenResult := UpperCase(md5.AsHex(Digest))elseResult := LowerCase(md5.AsHex(Digest));
end;end.

调用方式:

procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
begin
  str:= Trim(Edit1.Text);
  ShowMessage(GetMD5_Encrypt16(str));  //16位
  ShowMessage(GetMD5_Encrypt32(str));;  //32位
end;

加密效果图:

对比在线加密: https://www.bejson.com/enc/md5/   效果图:

可见加密是成功的。

-----------------------------------------------------------------------------------------------------------------------

Delphi XE10.1版本如下获取:(这个版本下对汉字加密有点问题,空闲了再研究下)

单元引用 IdHashMessageDigest, IdHash;

unit uMD5;interfaceuses IdHash, IdHashMessageDigest;typeTMD5= class(TIdHashMessageDigest5);function StrToMD5(s: String): String; overload;function StrToMD516(s: String; l: integer): String; overload;function StrToMD532(s: String; l: integer): String; overload;implementationfunction StrToMD5(s: String): String;
varMd5Encode: TMD5;
beginMd5Encode:= TMD5.Create;result:= Md5Encode.HashToHex(Md5Encode.HashString(UTF8Encode(AnsiString(S))));Md5Encode.Free;
end;function StrToMD516(s: String; l: integer): String; overload;
beginResult:= Copy(StrToMD5(s), 9, l);
end;function StrToMD532(s: String; l: integer): String; overload;
beginResult:= Copy(StrToMD5(s), 1, l);
end;end.

调用实现:

procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
begin
  str:= Trim(Edit1.Text);
  ShowMessage(StrToMD516(str, 16));  //16位
  ShowMessage(StrToMD532(str, 32));  //32位
end;

Delphi 2007 XE10.1 MD5加密 中文 英文 16位 32位相关推荐

  1. ASP.Net中MD5加密-16位32位

    public string md5(string str,int code) { if(code==16) //16位MD5加密(取32位加密的9~25字符) { return System.Web. ...

  2. .NET生成常用16、32位MD5加密的两种方法

    //MD5加密函数比较复杂,在.NET中我们不需要编写底层的算法. //平台已经提供两个生成MD5加密的方法: //经过改动一点就可以生成如现在DVBBS等论坛中使用的MD5密码 //⑴:使用C:\W ...

  3. js实现md5加密,可以加密成16位或32位

    js实现md5加密,可以加密成16位或32位 md5在线加密工具 js实现md5加密 加密成16位 加密成32位 md5在线加密工具 md5在线加密工具,321在线工具站 https://www.32 ...

  4. MD5加密中文结果不一致

    今天更APP联调出现一个很蛋疼的问题 同样的代码 A接口签名验证通过 B接口签名验证不通过 经过多次测试发现是由于参数传了中文导致 经查询是由于md5加密时未使用编码造成 ( 加密的时候字符的问题) ...

  5. MD5加密中文—在jar包下和idea下加密结果不一致问题

    原因:jar包下默认编码为GBK,idea设置的编码为UTF-8 统一编码:在MD5加密方法里面找到: byte[] btInput = s.getBytes(); 修改为: byte[] btInp ...

  6. jmeter-Java关于MD5加密方法 以及16位32位互转

    MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将 ...

  7. Excel VBA MD5 加密 16位 32位

    使用效果如图: 电子表格中调用方法1 如 某单元格中输入 =MD5(A1,16) 即可得到16位小写的标准md5值 电子表格中调用方法2 如 某单元格中输入 =MD5(A1,32) 即可得到32位小写 ...

  8. md加密 16位 32位

    16位大写 //生成MD5 public static String getMD5(String message) { String md5 = ""; try { Message ...

  9. JavaScript 实现BASE58加密 中文英文数字都可以加密

    常见的加密方式是BASE64加密.本篇介绍一个不常用的前端js加密方式-BASE58加密 下面是代码展示 var BASE=58; var ALPHABET = '123456789ABCDEFGHJ ...

  10. Photoshop CS6最新官方正式中文破解版(32位、64位)

    转自:  http://www.frontopen.com/1181.html Photoshop是强大的图形处理软件,在前端开发领域中,主要用于页面的图形设计与网站UI切图. 目前最新版为Adobe ...

最新文章

  1. 程序员如何避免“滴滴式裁员”悲剧?
  2. 对AI领域的会议的评点
  3. java异步接口转同步接口_如果今天设计了Java:同步接口
  4. mysql自定义函数多参数_自定义mysql函数 - 无法传递参数
  5. 【数据库系统】管理持久对象的模式
  6. 私有静态方法private static method-值得用吗?
  7. android5.1 PowerManagerService和DisplayPowerControler、DisplayPowerState关系
  8. 5、OC —— @property和@synthesize
  9. mybatis中获取当前时间_mybatis 在xml文件中获取当前时间的sql
  10. 两个摄像头合成一路_一个摄像机怎么添加到两台录像机?
  11. redis击穿、redis雪崩、redis穿透
  12. python以及Arduino硬件编程笔记
  13. K线形态识别—K线反转形态之头部反转形态
  14. grafana-reporter安装及配置
  15. 关于java导出Excel 并设置密码权限
  16. Excel-用OFFSET和COUNTA实现动态增加下拉列表
  17. 那些不甘平庸的管理者,都在读这10本书
  18. BABYLON 三维开发工具的使用
  19. Halcon之单相机标定
  20. php 搜索附近人及SQL语句的写法

热门文章

  1. 悬镜安全宣布完成数千万元Pre-A轮融资
  2. 天锐绿盾加密软件如何制作外发文件
  3. 数学建模算法与应用学习blog
  4. vue移动端项目使用自定义字体
  5. mac上最好用的免费PDF阅读器是哪个
  6. 我的网址收藏-更新日期(2014-09-04)
  7. win7下matable7运行停止工作
  8. 推荐系统实践---第六章:利用社交网络数据
  9. 学习 Qt 编程的好书推荐
  10. 《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第7章 实现