【Delphi】AES、DES、Blowfish、RC等加密解密控件(含源代码、演示程序,帮助文件)

1. 对称加密解密控件 Cipher_Component 介绍

对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。

但是Delphi没有提供使用的方便支持对称加密函数接口,delphi开发者使用起来还是有些麻烦,特别是AES、DES加解密及签名验证等等,因此我们开发了这个Cipher对称加密控件,只需简单的几个API就可以立即实现对称加密的加解密及签名验证等功能。

Cipher控件图标:Component

Cipher控件开发语言:delphi
Cipher控件名称:TCipher_Component

2. 控件提供的功能

1.AES算法
AES-128-CBC、AES-192-CBC、AES-256-CBC;
AES-128-CFB、AES-192-CFB、AES-256-CFB;
AES-128-CFB1、AES-192-CFB1、AES-256-CFB1;
AES-128-CFB8、AES-192-CFB8、AES-256-CFB8;
AES-128-ECB、AES-192-ECB、AES-256-ECB;
AES-128-OFB、AES-192-OFB、AES-256-OFB;

2.DES算法
DES-CBC、DES-CFB、DES-OFB、DES-ECB;

3.DES2算法
DES-EDE-CBC、DES-EDE、DES-EDE-CFB、DES-EDE-OFB;

4.DES3算法
DES-EDE3-CBC、DES-EDE3、DES-EDE3-CFB、DES-EDE3-OFB;

5.Blowfish算法
BF-CBC、BF-ECB、BF-CBF、BF-OFB;
6. RC2算法
RC2-CBC、RC2-CFB、RC2-ECB、RC2-OFB、RC2-64-CBC、RC2-40-CBC;
7.RC4算法
RC4、RC4-40
8.IDEA算法
IDEA-CBC、IDEA-CFB、IDEA-ECB、IDEA-OFB;

3. 控件提供的方法函数

在这里插入图片描述

4. 控件演示程序

在这里插入图片描述

5. Cipher_Component控件下载

序号下载连接连接说明
1Cipher_Component控件安装源代码,包含使用说明
2Cipher_Component_Demo控件使用Demo程序,包含控件使用说明,不包含控件

使用问题交流QQ:910731685

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Delphi是一种编程语言,可以使用它来进行AES(高级加密标准)算法的加密和解密操作。AES是一种对称加密算法,可以使用相同的密钥进行加密和解密。 在Delphi中,可以使用TNetEncoding类来进行AES加密和解密。首先,需要引入System.NetEncoding单元,然后可以使用TNetEncoding类中的静态方法进行加密和解密操作。 对于加密,可以使用TNetEncoding.Base64.EncodeBytesToString方法将明文数据加密为字符串。需要提供密钥和初始向量(IV)作为参数。 对于解密,可以使用TNetEncoding.Base64.DecodeStringToBytes方法将加密过的字符串解密为字节数组。同样需要提供密钥和IV作为参数。 以下是一个简单的示例: ```delphi uses System.NetEncoding; function AESEncrypt(const plainText, key, iv: string): string; var encoding: TNetEncoding; plainBytes, cipherBytes: TBytes; begin encoding := TNetEncoding.Base64; plainBytes := TEncoding.UTF8.GetBytes(plainText); cipherBytes := encoding.EncodeBytes(TNetEncoding.ANSI.GetBytes(key), TNetEncoding.ANSI.GetBytes(iv), plainBytes); Result := encoding.EncodeBytesToString(cipherBytes); end; function AESDecrypt(const cipherText, key, iv: string): string; var encoding: TNetEncoding; cipherBytes, plainBytes: TBytes; begin encoding := TNetEncoding.Base64; cipherBytes := encoding.DecodeStringToBytes(cipherText); plainBytes := encoding.DecodeBytes(TNetEncoding.ANSI.GetBytes(key), TNetEncoding.ANSI.GetBytes(iv), cipherBytes); Result := TEncoding.UTF8.GetString(plainBytes); end; // 使用示例 var plainText, key, iv, cipherText: string; begin plainText := 'Hello, World!'; key := '01234567890123456789012345678901'; iv := '0123456789012345'; cipherText := AESEncrypt(plainText, key, iv); ShowMessage('加密后的结果:' + cipherText); plainText := AESDecrypt(cipherText, key, iv); ShowMessage('解密后的结果:' + plainText); end; ``` 这是一个基本的Delphi代码示例,可以使用AES算法加密和解密数据。注意,为了安全起见,密钥和初始向量应保密保存,并且需要相同的密钥和IV才能将加密数据正确解密出来。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海纳老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值