在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
MD5 与 SHA 在 Delphi 中函数实现。 为了加密密码,必须使用一种算法,查询资料,比较好的方法是使用:MD5等算法,参考:Delphi XE8 支持MD5 第一种方式是:引用 System.Hash 中的 THashMD5, (或者 THashSHA1,THashSHA2) 参考 官方文档。 http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Hash 简单用法: hashmd5 := THashMD5.Create.GetHashString('abc'); ‘abc’ 是你想加密的字符串,你提供。 使用它计算的结果中,字符是小写。MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 另一种加密是: hashsha1 := THashSHA1.Create.GetHashString('abc'); ======================
THashSHA1/2.Create.GetHMAC(const AData, AKey: string) : string; http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Hash.THashMD5.GetHMAC
第二种方式是:使用 IdHashMessageDigest ,产生的加密字符是:大写格式! 比如:加密 ‘abc ’ MD5 ("abc") = 900150983CD24FB0D6963F7D28E17F72 在单元中,引入Uses IdHashMessageDigest,(也可以包括:,IdHash,IdGlobal, 不知道原因 !) 代码如下: Uses IdHashMessageDigest; function MD5Encode(const str:string):String; //定义一个公开函数 function MD5Encode(const str:string):String; try finally ============================================================ 由于代码迁移到 Net 框架,需要相应 的C# 的代码实现,继续补充相应资料。 寻求:delphi 中 System.Hash 中的 THashMD5, (或者 THashSHA1,THashSHA2)的C# 资料 来自 System.Security.Cryptography 程序集: System.Security.Cryptography.Algorithms.dll, mscorlib.dll, netstandard.dll 如下代码产生相同的 Hash结果: using System.Security.Cryptography; //增加引用 string logUser; // 代码登录的用户名称 byte[] key) 定义; HMACMD5 provider = new HMACMD5(Encoding.UTF8.GetBytes(loguser)); LogPass }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论