Lazarus 自带的编码解码函数MD5、Base64、SHA256、URL等

Pascal/Delphi wes 17 days ago (2026-03-14) 7 views
Lazarus 自带了不少常用的编码解码函数、无需任何第三方库编码 / 解码 / 哈希函数,不用装任何组件,直接 uses 单元就能用,包含你要的 MD5、Base64、SHA、URL 编码 等。

🔥 终极清单:Lazarus 自带编码 / 解码 / 哈希函数

全部是 Free Pascal RTL + FCL 自带,跨平台(Windows / Linux /macOS)通用。

一、Base64 编码 / 解码(最常用)

单元: uses Base64;

函数:

// 编码 string → Base64
function EncodeStringBase64(const s: string): string;

// 解码 Base64 → string
function DecodeStringBase64(const s: string): string;

示例:

s := EncodeStringBase64(‘123456’); 

s := DecodeStringBase64(‘MTIzNDU2’);


二、MD5 哈希(32 位大写 / 小写)

单元: uses md5;

函数:

// 字符串 MD5(返回 32 位小写) 

function MD5Print(const AData: TMD5Digest): string; 

function MD5String(const AStr: string): TMD5Digest; 

// 快捷用法:一行得到 MD5 

function MD5Str(const s: string): string;

示例:
s := MD5Str(‘123456’);


三、SHA1 / SHA256 / SHA512 (超强加密)

单元:
  • SHA1:sha1
  • SHA256:sha256
  • SHA512:sha512
uses sha1, sha256, sha512;

函数:
SHA1String(s) → 哈希

SHA256String(s) → 哈希
SHA512String(s) → 哈希


四、URL 编码 / 解码(Http 必备)

单元:uses HTTPDefs;

函数:

URLEncode(s) // URL 编码 URLDecode(s) // URL 解码 


五、HTML 编码 / 解码

单元: strutils
uses strutils;

StringToHTML(s) HTMLToString(s)


六、UTF8 <-> Ansi/Unicode 编码转换

单元: uses LazUTF8;

UTF8ToAnsi(s) AnsiToUTF8(s) UTF8Length(s)


七、二进制 <-> 十六进制(Hex)

单元: uses SysUtils;

BinToHex(@buffer, hexStr, length);


八、格式化编码(HEX、Base64、MD5 输出)

单元: SysUtils
Format(‘%x’, [value]) // 转16进制


🎯 最常用的 7 个函数

最实用、最常用的 7 个,全部 Lazarus 自带:
  1. Base64 编码 EncodeStringBase64
  2. Base64 解码 DecodeStringBase64
  3. MD5 MD5Str
  4. SHA256 SHA256String
  5. URL 编码 URLEncode
  6. URL 解码 URLDecode
  7. UTF8 转码 UTF8ToAnsi / AnsiToUTF8