欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    delphi加密解密.docx

    • 资源ID:9828310       资源大小:15.53KB        全文页数:10页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    delphi加密解密.docx

    delphi加密解密delphi 字符串加密收集function Encode(Str:String):String;var/加密TmpChr:AnsiChar;i,Len:integer;beginResult:=Str;Len:=Length(Result);TmpChr:=Result1;for i:=1 to Len-1 doResulti:=Resulti+1;ResultLen:=TmpChr;end;function Decode(Str:String):String;var/解密TmpChr:AnsiChar;i,Len:integer;beginResult:=Str;Len:=Length(Result);TmpChr:=ResultLen;for i:=Len DownTo 2 doResulti:=Resulti-1;Result1:=TmpChr;end;/功能:字符串加密和解密作用:可用作密码的和一些重要参数的保存,数据经加密后保存即使被人看到了也无防。首先定义一个常量数组constXorKey:array0.7 of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47); /字符串加密用然后在程序里加入以下两个函数,具体用法就不用多说了吧!function Enc(Str:String):String;/字符加密函數這是用的一個異或加密vari,j:Integer;beginResult:=;j:=0;for i:=1 to Length(Str) dobeginResult:=Result+IntToHex(Byte(Stri) xor XorKeyj,2);j:=(j+1) mod 8;end;end;function Dec(Str:String):String;/字符解密函數vari,j:Integer;beginResult:=;j:=0;for i:=1 to Length(Str) div 2 dobeginResult:=Result+Char(StrToInt($+Copy(Str,i*2-1,2) xor XorKeyj);j:=(j+1) mod 8;end;end;function Crypt(s: string; Key: Word;const bEncrypt: boolean): string;constSeedA = 787; / 常量,你可以修改SeedB = 787; / 常量,你可以修改vari: integer;ps, pr : byte;beginif bEncrypt thens := s+#0;SetLength(Result, Length(s);ps := s1;pr := Result1;for i := 1 to length(s) dobeginpr := ps xor (Key shr 8);if bEncrypt thenKey := (pr + Key) * SeedA + SeedBelseKey := (ps + Key) * SeedA + SeedB;pr := pointer(integer(pr) + 1);ps := pointer(integer(ps) + 1);end;end;/1.function EncrypStr(Src, Key: String): String;/字符串加密函数/对字符串加密(Src:源Key:密匙)var KeyLen :Integer;KeyPos :Integer;offset :Integer;dest :string;SrcPos :Integer;SrcAsc :Integer;Range :Integer;beginKeyLen:=Length(Key);if KeyLen = 0 then key:=delphi;KeyPos:=0;Range:=256;Randomize;offset:=Random(Range);dest:=format(%1.2x,offset);for SrcPos := 1 to Length(Src) dobeginSrcAsc:=(Ord(SrcSrcPos) + offset) MOD 255;if KeyPos then KeyPos:= KeyPos + 1else KeyPos:=1;SrcAsc:= SrcAsc xor Ord(KeyKeyPos);dest:=dest + format(%1.2x,SrcAsc);offset:=SrcAsc;end;Result:=Dest;end;end;function UncrypStr(Src, Key: String): string;/字符串解密函数/对字符串解密(Src:源Key:密匙)var KeyLen :Integer;KeyPos :Integer;offset :Integer;dest :string;SrcPos :Integer;SrcAsc :Integer;TmpSrcAsc :Integer;beginKeyLen:=Length(Key);if KeyLen = 0 then key:=delphi;KeyPos:=0;offset:=StrToInt($+ copy(src,1,2);SrcPos:=3;repeatSrcAsc:=StrToInt($+ copy(src,SrcPos,2);if KeyPos Then KeyPos := KeyPos + 1else KeyPos := 1;TmpSrcAsc := SrcAsc xor Ord(KeyKeyPos);if TmpSrcAsc then TmpSrcAsc := 255 + TmpSrcAsc - offsetelse TmpSrcAsc := TmpSrcAsc - offset;dest:=dest + chr(TmpSrcAsc);offset:=srcAsc;SrcPos:=SrcPos + 2;until SrcPos >= Length(Src);Result:=Dest;end;/* *2./*/ 加密解密(利用异或运算) (方式2)/*function encryptstr(const s:string; skey:string):string;/加密vari,j: integer;hexS,hexskey,midS,tmpstr:string;a,b,c:byte;beginhexS :=myStrtoHex(s);hexskey:=myStrtoHex(skey);midS :=hexS;for i:=1 to (length(hexskey) div 2) dobeginif itmpstr:=;for j:=1 to (length(midS) div 2) dobegina:=strtoint($+midS2*j-1+midS2*j);b:=strtoint($+hexskey2*i-1+hexskey2*i);c:=a xor b;tmpstr := tmpstr+myStrtoHex(chr(c);end;end;result := tmpstr;end;function decryptstr(const s:string; skey:string):string;/解密vari,j: integer;hexS,hexskey,midS,tmpstr:string;a,b,c:byte;beginhexS :=s;/应该是该字符串if length(hexS) mod 2=1 thenbeginshowmessage(密文错误!);exit;end;hexskey:=myStrtoHex(skey);tmpstr :=hexS;midS :=hexS;for i:=(length(hexskey) div 2) downto 1 dobeginif itmpstr:=;for j:=1 to (length(midS) div 2) dobegina:=strtoint($+midS2*j-1+midS2*j);b:=strtoint($+hexskey2*i-1+hexskey2*i);c:=a xor b;tmpstr := tmpstr+myStrtoHex(chr(c);end;end;result := myHextoStr(tmpstr); end;

    注意事项

    本文(delphi加密解密.docx)为本站会员(rrsccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开