依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

限时开通VIP永久会员,可免费下载所有附件
查看: 53|回复: 0

delphi中使用aes算法加解密示例

[复制链接] |主动推送主动推送

1748

主题

1783

帖子

2514

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2514
发表于 2023-12-22 13:52:08 | 显示全部楼层 |阅读模式
delphi中使用aes算法加解密示例


在 Delphi 中使用 AES 算法进行加密和解密,可以使用第三方库,例如 "Delphi Encryption Compendium (DEC)"。以下是一个示例代码,展示如何使用 DEC 库进行 AES 加密和解密:


  1. uses
  2.   DECUtil, DECCipher, DECHash, DECFormat;
  3. function AESEncrypt(const plainText, key: string): string;
  4. var
  5.   cipher: TDECCipher;
  6.   keyBytes, plainBytes, cipherBytes: TBytes;
  7. begin
  8.   keyBytes := TEncoding.UTF8.GetBytes(key);
  9.   plainBytes := TEncoding.UTF8.GetBytes(plainText);
  10.    cipher := TDECCipher.Create(TCipherMode.ECB);
  11.   try
  12.     cipher.InitEncrypt(keyBytes, TDECCipherClass.AES);
  13.     cipherBytes := cipher.Update(plainBytes);
  14.     cipherBytes := cipher.Final(cipherBytes);
  15.   finally
  16.     cipher.Free;
  17.   end;
  18.    Result := TEncoding.UTF8.GetString(cipherBytes);
  19. end;
  20. function AESDecrypt(const encryptedText, key: string): string;
  21. var
  22.   cipher: TDECCipher;
  23.   keyBytes, cipherBytes, plainBytes: TBytes;
  24. begin
  25.   keyBytes := TEncoding.UTF8.GetBytes(key);
  26.   cipherBytes := TEncoding.UTF8.GetBytes(encryptedText);
  27.    cipher := TDECCipher.Create(TCipherMode.ECB);
  28.   try
  29.     cipher.InitDecrypt(keyBytes, TDECCipherClass.AES);
  30.     plainBytes := cipher.Update(cipherBytes);
  31.     plainBytes := cipher.Final(plainBytes);
  32.   finally
  33.     cipher.Free;
  34.   end;
  35.    Result := TEncoding.UTF8.GetString(plainBytes);
  36. end;
  37. var
  38.   plainText, key, encryptedText, decryptedText: string;
  39. begin
  40.   plainText := 'Hello, World!';
  41.   key := 'MySecretKey123456';
  42.    encryptedText := AESEncrypt(plainText, key);
  43.   Writeln('Encrypted Text: ' + encryptedText);
  44.    decryptedText := AESDecrypt(encryptedText, key);
  45.   Writeln('Decrypted Text: ' + decryptedText);
  46. end.
复制代码
在上述代码中,我们使用了 DEC 库提供的 AES 加密和解密功能。 AESEncrypt  函数接受明文和密钥作为参数,使用 AES 算法对明文进行加密,并返回加密后的字符串。 AESDecrypt  函数接受加密后的字符串和密钥作为参数,使用 AES 算法对密文进行解密,并返回解密后的明文。  在主程序中,我们使用示例的明文和密钥进行加密和解密,并打印结果。  请确保在使用前安装并引入 DEC 库,并将相关的单元添加到 uses 子句中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、转载或引用本网站内容须注明原网址,并标明本网站网址“源码资源网”
2、转载或引用本网站中的署名文章,请按规定向原作者支付稿酬
3、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任
4、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利
5、资源部分来自网络,不保证资源的完整性,仅供学习研究,如需运营请购买正版,如有侵权请联系客服删除
6、本站所有资源不带技术支持,下载资源请24小时内删除,如用于违法用途,或者商业用途,一律用于者承担
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|手机版|依星源码资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-2-26 10:21

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表