- 浏览: 158837 次
- 性别:
- 来自: 天津
最新评论
-
znhyz1:
Ubuntu 12.04 64位系统需要以下额外俩依赖包sud ...
Ubuntu 11.10下笔记本ThinkPad E520中ATI显卡驱动的安装 -
znhyz1:
bmml123 写道您好,我的按您说的做了 rfkill li ...
Ubuntu--解决Thinkpad E420 安装ubuntu 等linux系统无线网卡问题 -
bmml123:
您好,我的按您说的做了
rfkill list命令后只显示
...
Ubuntu--解决Thinkpad E420 安装ubuntu 等linux系统无线网卡问题 -
yuting_lv:
引用sudo cp /etc/apt/sources.list ...
Ubuntu11.04更新源 -
znhyz1:
为什么不用root就登录不了sqlplus
Ubuntu Server下安装Oracle-xe数据库
{=============================================================================== 函数名: Rc4_StrEncrypt() 描 述: RC4 Based string encryption 参 数: i_Encrypt ——为 1 是加密, 0 是解密(integer类型); s_EncryptText ——待加密(解密)的字符串(string类型); s_EncryptPassword ——加密(解密)的密码(string类型); i_EncryptLevel ——加密级别(范围:1--10;integer类型)) 翻译: 吴间道 QQ: 93331961 =============================================================================== } unit Rc4_Unit; interface uses SysUtils; function Rc4_StrEncrypt(i_Encrypt:integer; s_EncryptText, s_EncryptPassword:string; i_EncryptLevel:integer = 1):string; implementation function Rc4_StrEncrypt(i_Encrypt:integer; s_EncryptText, s_EncryptPassword:string; i_EncryptLevel:integer = 1):string; var v_EncryptModified, v_EncryptCipher, v_EncryptCipherBy:string; i_EncryptCountA, i_EncryptCountB, i_EncryptCountC, i_EncryptCountD, i_EncryptCountE, i_EncryptCountF, i_EncryptCountG, i_EncryptCountH, v_EncryptSwap:integer; av_EncryptBox:array[0..256, 0..2] of integer; begin if (i_Encrypt <> 0) and (i_Encrypt <> 1) then begin result := ''; end else if (s_EncryptText = '') or (s_EncryptPassword = '') then begin result := ''; end else begin if (i_EncryptLevel <= 0) or (Int(i_EncryptLevel) <> i_EncryptLevel) then i_EncryptLevel := 1; if Int(i_EncryptLevel) > 10 then i_EncryptLevel := 10; if i_Encrypt = 1 then begin for i_EncryptCountF := 0 to i_EncryptLevel do begin i_EncryptCountG := 0; i_EncryptCountH := 0; v_EncryptModified := ''; for i_EncryptCountG := 1 to Length(s_EncryptText) do begin if i_EncryptCountH = Length(s_EncryptPassword) then begin i_EncryptCountH := 1; end else begin inc(i_EncryptCountH); end; v_EncryptModified := v_EncryptModified + Chr(Ord(s_EncryptText[i_EncryptCountG]) xor Ord(s_EncryptPassword[i_EncryptCountH]) xor 255); end; s_EncryptText := v_EncryptModified; i_EncryptCountA := 0; i_EncryptCountB := 0; i_EncryptCountC := 0; i_EncryptCountD := 0; i_EncryptCountE := 0; v_EncryptCipherBy := ''; v_EncryptCipher := ''; v_EncryptSwap := 0; for i_EncryptCountA := 0 to 255 do begin av_EncryptBox[i_EncryptCountA, 1] := Ord(s_EncryptPassword[i_EncryptCountA mod Length(s_EncryptPassword) + 1]); av_EncryptBox[i_EncryptCountA, 0] := i_EncryptCountA; end; for i_EncryptCountA := 0 to 255 do begin i_EncryptCountB := (i_EncryptCountB + av_EncryptBox[i_EncryptCountA][0] + av_EncryptBox[i_EncryptCountA][1]) mod 256; v_EncryptSwap := av_EncryptBox[i_EncryptCountA][0]; av_EncryptBox[i_EncryptCountA][0] := av_EncryptBox[i_EncryptCountB][0]; av_EncryptBox[i_EncryptCountB][0] := v_EncryptSwap; end; for i_EncryptCountA := 1 to Length(s_EncryptText) do begin i_EncryptCountC := (i_EncryptCountC + 1) mod 256; i_EncryptCountD := (i_EncryptCountD + av_EncryptBox[i_EncryptCountC][0]) mod 256; i_EncryptCountE := av_EncryptBox[(av_EncryptBox[i_EncryptCountC][0] + av_EncryptBox[i_EncryptCountD][0]) mod 256][0]; v_EncryptCipherBy := inttostr(Ord(s_EncryptText[i_EncryptCountA]) xor i_EncryptCountE); v_EncryptCipher := v_EncryptCipher + IntToHex(strtoint(v_EncryptCipherBy), 2); end; s_EncryptText := v_EncryptCipher; end; end else begin for i_EncryptCountF := 0 to i_EncryptLevel do begin i_EncryptCountB := 0; i_EncryptCountC := 0; i_EncryptCountD := 0; i_EncryptCountE := 0; v_EncryptCipherBy := ''; v_EncryptCipher := ''; v_EncryptSwap := 0; for i_EncryptCountA := 0 to 255 do begin av_EncryptBox[i_EncryptCountA, 1] := Ord(s_EncryptPassword[i_EncryptCountA mod Length(s_EncryptPassword) + 1]); av_EncryptBox[i_EncryptCountA, 0] := i_EncryptCountA; end; for i_EncryptCountA := 0 to 255 do begin i_EncryptCountB := (i_EncryptCountB + av_EncryptBox[i_EncryptCountA, 0] + av_EncryptBox[i_EncryptCountA, 1]) mod 256; v_EncryptSwap := av_EncryptBox[i_EncryptCountA, 0]; av_EncryptBox[i_EncryptCountA, 0] := av_EncryptBox[i_EncryptCountB, 0]; av_EncryptBox[i_EncryptCountB, 0] := v_EncryptSwap; end; for i_EncryptCountA := 1 to Length(s_EncryptText) do begin if (i_EncryptCountA mod 2) <> 0 then begin i_EncryptCountC := ((i_EncryptCountC + 1) mod 256); i_EncryptCountD := ((i_EncryptCountD + av_EncryptBox[i_EncryptCountC, 0]) mod 256); i_EncryptCountE := av_EncryptBox[((av_EncryptBox[i_EncryptCountC, 0] + av_EncryptBox[i_EncryptCountD, 0]) mod 256), 0]; v_EncryptCipherBy := inttostr(StrToInt64('$' + s_EncryptText[i_EncryptCountA] + s_EncryptText[i_EncryptCountA + 1]) xor i_EncryptCountE); v_EncryptCipher := v_EncryptCipher + Chr(strtoint(v_EncryptCipherBy)); end; end; s_EncryptText := v_EncryptCipher; i_EncryptCountG := 0; i_EncryptCountH := 0; v_EncryptModified := ''; for i_EncryptCountG := 1 to Length(s_EncryptText) do begin if i_EncryptCountH = Length(s_EncryptPassword) then begin i_EncryptCountH := 1; end else begin i_EncryptCountH := i_EncryptCountH + 1; end; v_EncryptModified := v_EncryptModified + Chr((Ord(s_EncryptText[i_EncryptCountG]) xor Ord(s_EncryptPassword[i_EncryptCountH]) xor 255)); end; s_EncryptText := v_EncryptModified; end; end; result := s_EncryptText; end; end; end.
发表评论
-
Delphi 中StringList带空格分割
2012-05-20 15:00 2802正常情况下,用Delimiter进行分格时,无论分割符为什么, ... -
简述个人知识体系建立
2012-05-18 12:58 903自互联网在中国普及开 ... -
WinAPI: ShellExecute打开外部程序或文件
2012-05-18 12:50 2036ShellExecute( hWnd: HWND; ... -
DataSnap Stream 传递大数据
2012-05-03 17:08 2012DataSnap可以直接传递和返回TStrea ... -
Windows Server 2003安装后需要做的37件事
2012-04-24 18:35 16481、播放电影时画面粗糙很多朋友都有这样的"遭遇&qu ... -
Delphi7中WebBrowser控件HTML源码的读写
2011-08-23 10:15 3840写入: procedure TForm1.LoadStrea ... -
Delphi中ExtractFilePath()及其相近函数用法
2011-08-11 15:09 2861ExtractFilePath() 功能:返回完整文件名中 ... -
Delphi中IdTcpServer 用户掉线检测方法
2011-08-10 21:53 6195正常情况下,当登陆用户异常掉线并不会通知服务器,这时服务器一直 ... -
Delphi中Indy 10的安装和老版本的卸载
2011-08-10 15:25 12214Indy 10的安装和老版本的卸载 Indy 10下载地址: ... -
Delphi中ClientDataSet浅析
2011-08-10 12:23 5256与一般的数据 ... -
Delphi中ClientDataSet的数据查找
2011-08-09 20:36 4486ClientDataSet的数据查找。我所介绍的心得和技巧都是 ... -
Delphi中ClientDataSet的用法小结
2011-08-09 20:20 9966TClientDataSet控件 ... -
最简单的隐藏文件夹方法---加个系统属性
2011-08-07 00:21 1265隐藏的方法如下: eg:现需隐藏e盘bak目录下的tools ... -
WinXP轻松替换系统启动画面
2011-08-07 00:18 964通常,说到更 ... -
Windows7六大版本功能区别
2011-08-07 00:16 1014Windows 7 Starter( ... -
IE8中设置使用资源管理器打开FTP的方法
2011-08-07 00:04 1614大家在使用网络的过程中,往往会登陆一些FTP站点,通过这些站点 ... -
Windows7下arp的绑定和解除绑定 netsh命令
2011-08-06 23:59 9881、首先以管理员身份运行CMD打开命令行程序(开始-程序-附件 ... -
修改Windows XP的登录背景图案方法
2011-08-06 23:58 913◆1、修改Windows XP ... -
Delphi组件安装方法
2011-08-06 23:53 1306Delphi组件安装方法 由于组件提供的方式不同,所以安装的 ... -
Delphi中TStringList的用法
2011-08-06 23:52 1722TStrings是一个抽象类,在实际开发中,是除了基本类型外, ...
相关推荐
标题 "Delphi 的rc4加密单元函数库" 涉及到的是在Delphi编程环境中使用RC4加密算法的一个自定义实现。RC4(Rivest Cipher 4)是一种流密码算法,由Ron Rivest在1987年设计,由于其简单性和效率,它在许多应用程序中...
RC4加密算法是一种广泛应用的流密码算法,由Ron Rivest在1987年设计,最初用于商业用途,因其高效性和简单性而受到欢迎。在这个“RC4加密算法演示程序”中,我们可以通过MFC(Microsoft Foundation Classes)框架来...
3. **RC(Rivest Cipher)**:RC 系列是一组非标准的对称加密算法,如 RC2、RC4、RC5 和 RC6。它们的设计原理各异,但都具有一定的安全性。RC4 是一种流密码,广泛用于网络传输,而其他 RC 算法则适用于块加密。在 ...
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥...
RC4控件可能包含了对RC4加密算法的高质量实现,便于Delphi 7用户在应用程序中实现数据的安全传输和存储。 **标签解读:** - **RC4**: 标签直接指出了关键的加密算法,用于数据加密。 - **delphi7**: 表明这些控件...
从文件名"CuteFTP 加密解密算法 Delphi版(图).exe"来看,这可能是包含源代码和示例程序的可执行文件,用于演示或测试这个算法。用户可以运行此程序来查看算法如何工作,或者研究其内部实现以学习和理解Delphi中的...
一个网上广为流传的Delphi加密算法, function EncryptString(Source, Key: string): string; var KeyLen: integer; KeyPos: integer; Offset: integer; Dest: string; SrcPos: integer; SrcAsc: integer; ...
在Delphi的世界里,开发者可能使用各种加密库或自定义实现来集成加密算法,如RC6,以实现数据的安全传输和存储。RC6.1.1可能是RC6的一个特定版本或者是在Delphi环境中实现的一个增强版,这个版本可能修复了一些已知...
这些组件涵盖了DES、3DES、MARS、Base64、CRC以及RC系列(RC2、RC4、RC5、RC6)等多种加密算法,可以用于实现数据的加密和解密功能。 1. DES(Data Encryption Standard):DES是一种古老的对称加密算法,由IBM开发...
这个压缩包很可能是为开发者提供的一个更新或扩展,允许他们在Delphi XE2环境中使用RC5加密算法。 Delphi是一款由Embarcadero Technologies开发的集成开发环境(IDE),主要用于编写Windows应用程序,基于Object ...
这个程序可能涵盖了基本的加密算法和解密算法,帮助开发者学习如何在Delphi环境下实现安全的数据保护。 首先,让我们来了解一下Delphi编程环境。Delphi由Embarcadero Technologies开发,提供了一个集成开发环境...
Delphi上的加密解密组件,支持Delphi4 至 Delphi XE7,包含以下对称加密算法: Blowfish、cast128、cast256、des、3des、ice、thinice、ice2、idea、mars、misty1、rc2、rc4、rc5、rc6、rijndael、serpent、tea、...
标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...
RC4是一种广泛使用的流式加密算法,由Ron Rivest在1987年设计,其全称为Rivest Cipher 4。它最初是为商业用途而设计的,但后来由于其简单性和高效性,被广泛应用于各种场景,包括网络通信、软件保护等领域。在本文中...
标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32)、软件使用次数限制,更好的保护您的软件。...
同时,需要注意的是,尽管异或加密简单易用,但对于大规模数据或高安全性的需求,可能需要考虑使用更安全的加密算法,如AES(高级加密标准)。 这个压缩包文件"delphi异或加密解密实例"应该包含一个完整的Delphi...
3. **RC6.exe**: 这个文件极有可能是使用Delphi编译器编译生成的可执行程序,其名称暗示它可能与RC6加密算法有关。这个程序可能实现了RC6的加密和解密功能,用于数据保护或者安全通信。用户可以通过运行这个程序来...
标准算法模块是集DES、3DES、AES、RSA、MD5、BlowFish、TEA、RC6等标准算法为一体的算法包,同时在模块中使用了Anti-Debug和程序自校验功能(涉及到软件的加壳和CRC32),增加了使用次数限制,更好的保护您的软件。...
RC6是一种对称密钥加密算法,由Rivest、Shamir和Adleman(RSA公司的创始人)在1997年设计,是DES(Data Encryption Standard)的潜在替代者之一,参与了AES(Advanced Encryption Standard)的竞赛,但最终未能入选...
Delphi 加密解密 AES DES RC Blowfish等算法控件源程序。 包含:AES 加密解密,DES 加密解密,RC 加密解密 Blowfish加密解密等