Delphi 2007 XE10.1 MD5加密 中文 英文 16位 32位
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位相关推荐
- ASP.Net中MD5加密-16位32位
public string md5(string str,int code) { if(code==16) //16位MD5加密(取32位加密的9~25字符) { return System.Web. ...
- .NET生成常用16、32位MD5加密的两种方法
//MD5加密函数比较复杂,在.NET中我们不需要编写底层的算法. //平台已经提供两个生成MD5加密的方法: //经过改动一点就可以生成如现在DVBBS等论坛中使用的MD5密码 //⑴:使用C:\W ...
- js实现md5加密,可以加密成16位或32位
js实现md5加密,可以加密成16位或32位 md5在线加密工具 js实现md5加密 加密成16位 加密成32位 md5在线加密工具 md5在线加密工具,321在线工具站 https://www.32 ...
- MD5加密中文结果不一致
今天更APP联调出现一个很蛋疼的问题 同样的代码 A接口签名验证通过 B接口签名验证不通过 经过多次测试发现是由于参数传了中文导致 经查询是由于md5加密时未使用编码造成 ( 加密的时候字符的问题) ...
- MD5加密中文—在jar包下和idea下加密结果不一致问题
原因:jar包下默认编码为GBK,idea设置的编码为UTF-8 统一编码:在MD5加密方法里面找到: byte[] btInput = s.getBytes(); 修改为: byte[] btInp ...
- jmeter-Java关于MD5加密方法 以及16位32位互转
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现.将 ...
- Excel VBA MD5 加密 16位 32位
使用效果如图: 电子表格中调用方法1 如 某单元格中输入 =MD5(A1,16) 即可得到16位小写的标准md5值 电子表格中调用方法2 如 某单元格中输入 =MD5(A1,32) 即可得到32位小写 ...
- md加密 16位 32位
16位大写 //生成MD5 public static String getMD5(String message) { String md5 = ""; try { Message ...
- JavaScript 实现BASE58加密 中文英文数字都可以加密
常见的加密方式是BASE64加密.本篇介绍一个不常用的前端js加密方式-BASE58加密 下面是代码展示 var BASE=58; var ALPHABET = '123456789ABCDEFGHJ ...
- Photoshop CS6最新官方正式中文破解版(32位、64位)
转自: http://www.frontopen.com/1181.html Photoshop是强大的图形处理软件,在前端开发领域中,主要用于页面的图形设计与网站UI切图. 目前最新版为Adobe ...
最新文章
- 程序员如何避免“滴滴式裁员”悲剧?
- 对AI领域的会议的评点
- java异步接口转同步接口_如果今天设计了Java:同步接口
- mysql自定义函数多参数_自定义mysql函数 - 无法传递参数
- 【数据库系统】管理持久对象的模式
- 私有静态方法private static method-值得用吗?
- android5.1 PowerManagerService和DisplayPowerControler、DisplayPowerState关系
- 5、OC —— @property和@synthesize
- mybatis中获取当前时间_mybatis 在xml文件中获取当前时间的sql
- 两个摄像头合成一路_一个摄像机怎么添加到两台录像机?
- redis击穿、redis雪崩、redis穿透
- python以及Arduino硬件编程笔记
- K线形态识别—K线反转形态之头部反转形态
- grafana-reporter安装及配置
- 关于java导出Excel 并设置密码权限
- Excel-用OFFSET和COUNTA实现动态增加下拉列表
- 那些不甘平庸的管理者,都在读这10本书
- BABYLON 三维开发工具的使用
- Halcon之单相机标定
- php 搜索附近人及SQL语句的写法