rc4加密
function RC4(Expression, Password: string): string;varRB : array[0..255] of Integer;X, Y, Z: longint;Key : array of byte;ByteArray : array of Word;//原来delphi 7下面 是 byte;Temp: byte;Counter: integer;begin If (Length(Expression) = 0) then Exit; If (Length(Password) = 0) then Exit; If (Length(Password) > 256) then begin Password := Copy(Password, 1, 256); end; SetLength(Key, Length(Password)); for Counter := 0 to Length(Password) - 1 do begin Key[Counter] := ord(Password[Counter + 1]); end; for X := 0 to 255 do begin RB[X] := X; end; X := 0; Y := 0; Z := 0; for X := 0 to 255 do begin Y := (Y + RB[X] + Key[X mod Length(Password)]) mod 256; Temp := RB[X]; RB[X] := RB[Y]; RB[Y] := Temp; end; X := 0; Y := 0; Z := 0; SetLength(ByteArray, Length(Expression)); for Counter := 0 to Length(Expression) - 1 do begin ByteArray[Counter] := ord(Expression[Counter + 1]); end; for X := 0 to Length(Expression) do begin Y := (Y + 1) mod 256; Z := (Z + RB[Y]) mod 256; Temp := RB[Y]; RB[Y] := RB[Z]; RB[Z] := Temp; ByteArray[X] := ByteArray[X] xor (RB[(RB[Y] + RB[Z]) mod 256]); end; for Counter := 0 to Length(Expression) - 1 do begin Result := Result + chr(ord(ByteArray[Counter])); end;end;rc4加密的更多相关文章
- RC4加密解密算法
RC4相对是速度快.安全性高的加密算法.在实际应用中,我们可以对安全系数要求高的文本进行多重加密,这样破解就有一定困难了.如下测试给出了先用RC4加密,然后再次用BASE64编码,这样双重锁定,保证数 ...
- [转]RC4加密已不再安全,破解效率极高
原文链接:http://freebuf.com/news/72622.html 原文发表时间:2015.7.17 安全研究人员称,现在世界上近三分之一的HTTPS加密连接可被破解,并且效率极高.这种针 ...
- VB使用API进行RC4加密解密(MD5密钥)
根据网络资料整改,来源未知,已调试通过. Option Explicit Private Declare Function CryptAcquireContext Lib "advapi32 ...
- golang rc4加密
package main import "crypto/rc4" import "fmt" func main() { key := []byte(" ...
- 【java】RC4加密转16进制获取长度为40的不重复优惠码字符串 【未优化版本】
需求:需要一串给各机构独有的优惠码 间接需求:固定长度.不重复.没有规律可循 实现思想如下: 1.首先获取一个UUID 2.去除UUID中的“-” 3.小写转大写 4.获取一个固定长度字符串 5.按照 ...
- java RC4加密和解码
package com.*; public class RC4 { public static String decry_RC4(byte[] data, String key) { if (data ...
- java RC4加密解密
package com.dgut.app.utils; import java.lang.Byte; import java.util.UUID; public class RC4 { public ...
- RC4加密解密
package util; public class RC4Util { public static String decry_RC4(byte[] data, String key) { if (d ...
- C#加密解密(DES,AES,Base64,md5,SHA256,RSA,RC4)
一:异或^简单加解密(数字类型) 1:原理: 异或用于比较两个二进制数的相应位,在执行按位"异或"运算时,如果两个二进制数的相应位都为1或者都为0,则返回0;如果两个二进制数的相应 ...
随机推荐
- [BILL WEI]stimulsoft reports DEMO自动生成模板
stimulsoft reports是一款强大的报表开发工具,能够开发各式各样的报表. 对于初学者而言,任何报表开发,刚开始都是去模仿,熟练掌握之后,自己才能独立开发,而在报表开发实际过程中, 我们所 ...
- 经典sql(3)
描述:有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value 表B此处为tbaley的情况: A: tabl ...
- Camera图像处理原理及实例分析-重要图像概念
Camera图像处理原理及实例分析 作者:刘旭晖 colorant@163.com 转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...
- 计算智能 Computational Intelligence,CI
计算智能(Computational Intelligence,CI)是借助自然界(生物界)规律的启示,根据其规律,设计出求解问题的算法.智能计算只是一种经验化的计算机思考性程序. 计算智能算法主要包 ...
- HDOJ-ACM1071(JAVA) 定积分
这道题做起来有点无奈,定积分已经忘得差不多了~还可恶的去搜索了抛物线的解析式的求法~哈哈 不过求出来的结果不对...等有时间再去研究这个数学问题吧 - - 以下是JAVA实现: import java ...
- 杭电HDOJ--ACM1002(JAVA解题,运用BigInteger)(自定义MBigInteger 简单实现大数处理----完善后可以实现百亿计算器)
转载声明:原文转自http://www.cnblogs.com/xiezie/p/5501901.html JAVA解题: import java.util.*; import java. ...
- 在浏览器中使用jquery取得iframe中页面中指定元素的值的不同
自己使用aspx页面中嵌套了ascx的页面其中使用了iframe的一些内容,出现了同一个页面的两种取值的方式 1. 在iframe的包含页面,需要使用iframe的页面中的元素,是需要使用$(wind ...
- 解析Systemtap
SystemTap 的架构 让我们深入探索 SystemTap 的某些细节,理解它如何在运行的内核中提供动态探针.您还将看到 SystemTap 是如何工作的,从构建进程脚本到在运行的内核中激活脚本. ...
- Web挖掘技术
一.数据挖掘 数据挖掘是运用计算机及信息技术,从大量的.不全然的数据集中获取隐含在当中的实用知识的高级过程.Web 数据挖掘是从数据挖掘发展而来,是数据挖掘技术在Web 技术中的应用.Web 数据 ...
- yum在线升级
RPM优点 由於 RPM 是透过预先编译并打包成为 RPM 文件格式后,再加以安装的一种方式,并且还能够进行数据库的记载. 所以 RPM 有以下的优点: RPM 内含已经编译过的程序与配置档等数据,可 ...