当前位置:首页 » 密码管理 » delphides加密解密

delphides加密解密

发布时间: 2022-06-14 04:01:25

‘壹’ Delphi常用的字符串(密码)加密方式都有哪几种哪种方法可以将数字字母混合加密成纯数字

多了,des、aes、base64、rsa、md5、sha等等,等等,数不胜数。每一种算法,都可以将数字字母加密成纯数字。因为加密的结果可以再加密。比如aes加密后的密文,是16进制的东西,我们可以把这个结果转换成10进制,不就成了纯数字了吗?所以,所有算法,都可以实现你所说的。

‘贰’ delphi实现DES字节流加密,该怎么解决

在 CnPack 提供的源代码包里,提供了 des 加解密单元文件,提供了以下四个功能函数:

function DESEncryptStr(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回密文,
注:由于密文可能含有扩展 ASCII 字符,因此在 DELPHI 2009 或以上版本中,请用
AnsiString 类型的变量接收返回值,以避免出现多余的 Unicode 转换而导致解密出错}

function DESDecryptStr(Str, Key: AnsiString): AnsiString;
{* 传入密文与加密 Key,DES 解密返回明文}

function DESEncryptStrToHex(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回转换成十六进制的密文}

function DESDecryptStrFromHex(StrHex, Key: AnsiString): AnsiString;
{* 传入十六进制的密文与加密 Key,DES 解密返回明文}

‘叁’ delphi实现DES字节流加密,该怎么解决


CnPack
提供的源代码包里,提供了
des
加解密单元文件,提供了以下四个功能函数:
function
DESEncryptStr(Str,
Key:
AnsiString):
AnsiString;
{*
传入明文与加密
Key,DES
加密返回密文

‘肆’ 该怎么解决,delphi实现DES字节流加密

在 CnPack 提供的源代码包里,提供了 des 加解密单元文件,提供了以下四个功能函数:

function DESEncryptStr(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回密文,
注:由于密文可能含有扩展 ASCII 字符,因此在 DELPHI 2009 或以上版本中,请用
AnsiString 类型的变量接收返回值,以避免出现多余的 Unicode 转换而导致解密出错}

function DESDecryptStr(Str, Key: AnsiString): AnsiString;
{* 传入密文与加密 Key,DES 解密返回明文}

function DESEncryptStrToHex(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回转换成十六进制的密文}

function DESDecryptStrFromHex(StrHex, Key: AnsiString): AnsiString;
{* 传入十六进制的密文与加密 Key,DES 解密返回明文}

‘伍’ 如何在Delphi软件中实现对配置文件的加密解密

直接先加密在放到ini 文件里
要用的时候直接解密出来就可以了
至于用什么加密算法看你自己喜欢
推荐用base64算法不错 网上到处有的下

‘陆’ 帮我分析一下这段DELPHI 就怎么算法加密的!

你的那段加密解密函数应该是用的这个吧?

//加密函数String:需要加密的字符串.Key密钥
FunctionEncrypKey(Src:String;Key:String):string;
var
idx:integer;
KeyLen:Integer;
KeyPos:Integer;
offset:Integer;
dest:string;
SrcPos:Integer;
SrcAsc:Integer;
TmpSrcAsc:Integer;
Range:Integer;

begin
KeyLen:=Length(Key);
ifKeyLen=0thenkey:='ThinkSpace';
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
Randomize;
offset:=Random(Range);
dest:=format('%1.2x',[offset]);
forSrcPos:=1toLength(Src)do
begin
SrcAsc:=(Ord(Src[SrcPos])+offset)MOD255;
ifKeyPos<KeyLenthenKeyPos:=KeyPos+1elseKeyPos:=1;
SrcAsc:=SrcAscxorOrd(Key[KeyPos]);
dest:=dest+format('%1.2x',[SrcAsc]);
offset:=SrcAsc;
end;
Result:=Dest;
end;

//解密函数String:需要解密的字符串.Key密钥
FunctionUncrypKey(Src:String;Key:String):string;
var
idx:integer;
KeyLen:Integer;
KeyPos:Integer;
offset:Integer;
dest:string;
SrcPos:Integer;
SrcAsc:Integer;
TmpSrcAsc:Integer;
Range:Integer;
begin
KeyLen:=Length(Key);
ifKeyLen=0thenkey:='ThinkSpace';
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
offset:=StrToInt('$'+(src,1,2));
SrcPos:=3;
repeat
SrcAsc:=StrToInt('$'+(src,SrcPos,2));
ifKeyPos<KeyLenThenKeyPos:=KeyPos+1elseKeyPos:=1;
TmpSrcAsc:=SrcAscxorOrd(Key[KeyPos]);
ifTmpSrcAsc<=offsetthen
TmpSrcAsc:=255+TmpSrcAsc-offset
else
TmpSrcAsc:=TmpSrcAsc-offset;
dest:=dest+chr(TmpSrcAsc);
offset:=srcAsc;
SrcPos:=SrcPos+2;
untilSrcPos>=Length(Src);
Result:=Dest;
end;

‘柒’ delphi中有没有什么函数或控件是直接进行数据加密、解密的

有.
uses IdHash,IdHashMessageDigest;

var mdA:TIdHashMessageDigest5; mdB:T4x4LongWordRecord;
begin
mdA:=TIdHashMessageDigest5.Create;
mdB:=mdA.HashValue('your string.');//加密
Result:=LowerCase(mdA.AsHex(mdB))
end;

‘捌’ 使用des对文件加密后怎么解密

您好,一般来说在线加密工具都是网页版的,des加密需要加密前明文和加密密钥,在网页的控件上填写好对应信息之后,点击加密按钮一般就可以看到加密后的加密结果。

‘玖’ 下面的C# 代码 转 DELPHI 怎么编写 ,请教高人,感谢!

没法直接转的。
这里用到了C#的一个API库DESCryptoServiceProvider,Delphi中没有对应的。但是你可以去下载Delphi下的DES加密解密库,然后对代码进行类似加密解密处理。
除非是纯算法,否则从一种语言转另外一种语言,不太方便。

‘拾’ delphi实现的DES加密,当输入明文为64位的时候,输出密文为128位。这是为什么应该如何修改程序

那是因为你调用的方法是把des加密后的密文的每一位都转成16进制了,16进制不够两位,前面自动补0了。要修改的话,把加密解密方法转16进制的代码注释了就可以了。

热点内容
可区分存储单元中存放的是指令还是数据 发布:2024-10-18 17:57:26 浏览:886
java中return返回值 发布:2024-10-18 17:57:11 浏览:560
安卓换苹果主题对手机有什么影响 发布:2024-10-18 17:49:11 浏览:117
华易数据库 发布:2024-10-18 17:48:05 浏览:358
概率题算法 发布:2024-10-18 17:44:30 浏览:421
可以写源码的文本编译器 发布:2024-10-18 17:44:29 浏览:282
100到200素数c语言 发布:2024-10-18 17:38:20 浏览:181
有钱还众筹源码 发布:2024-10-18 17:33:13 浏览:213
java前一个月 发布:2024-10-18 17:07:19 浏览:950
战地配置有哪些 发布:2024-10-18 16:44:48 浏览:311