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;如果两个二进制数的相应 ...
随机推荐
- QT无法定位入口点QtCore4.dll(万恶的matlab啊)
今天安装QT, 参考: http://www.qtcn.org/bbs/simple/?t53333.html 遇到问题 发现怎么更matlab有关了.果断把系统环境变量改一下:放到了最前面 呵呵,行 ...
- Strom的安装及使用
在使用storm之前,首先看zookeeper是否安装好 单机版 1.在node1上修改配置文件conf下的storm.yaml文件
- Vim 的粘贴复制功能
Vim作为最好用的文本编辑器之一,使用vim来编文档,写代码实在是很惬意的事情.每当学会了vim的一个新功能,就会很大地提高工作效率.有人使用vim几十年,还没有完全掌握vim的功能,这也说明了vim ...
- Visual Studio的.NET内存分配分析器解析
Visual Studio 2012拥有丰富的有价值的功能,以至于我听到开发者反馈的需要的新功能新版本已经有了.另外,我听到开发人员询问具体的功能的某个特性,实际上他真正需要的是另外一个功能点. 上面 ...
- hadoop中Combiner使用中需要注意的地方
今天在写一个MR的时候,用到了combiner.在使用过程中,遇到了一些问题,特此记录一下. Combiner分为两种,一种是可插拔的,一种是不可插拔的. 可插拔的:Combiner和Reduce的处 ...
- openstack 正常流量
- PHP字符串操作汇总
PHP开发中常用的字符串操作介绍 -- 简明现代魔法 PHP学习笔记之字符串的简单处理 - RuanJava的专栏 - 博客频道 - CSDN.NET PHP String 函数
- key_t键和ftok函数
系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) f ...
- [转载](iPhone开发)Bundle Display Name 改为中文。ap
原文地址:(iPhone开发)Bundle Display Name 改为中文.app显示为中文作者:小新 要先在info的Localizations加入Chinese(zh-Hant) 再進到inf ...
- Python+Django+SAE系列教程17-----authauth (认证与授权)系统1
通过session,我们能够在多次浏览器请求中保持数据,接下来的部分就是用session来处理用户登录了. 当然,不能仅凭用户的一面之词,我们就相信,所以我们须要认证. 当然了,Django 也提供了 ...