java实现的RC4加密解密算法示例

网友投稿 271 2023-05-07


java实现的RC4加密解密算法示例

本文实例讲述了java实现的RC4加密解密算法。分享给大家供大家参考,具体如下:

有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个Java 版本的RC4加解密算法。

public static String HloveyRC4(String aInput,String aKey)

{

int[] iS = new int[256];

byte[] iK = new byte[256];

for (int i=0;i<256;i++)

iS[i]=i;

int j = 1;

for (short i= 0;i<256;i++)

{

iK[i]=(byte)aKey.charAt((i % aKey.length()));

}

j=0;

for (int i=0;i<255;i++)

{

j=(j+iS[i]+iK[i]http://) % 256;

int temp = iS[i];

iS[i]=iS[j];

iS[j]=temp;

}

int i=0;

j=0;

char[] iInputChar = aInput.toCharArray();

char[] iOutputChar = new char[iInputChar.length];

for(short x = 0;x

{

i = (i+1) % 256;

j = (j+iS[i]) % 256;

int temp = iS[i];

iS[i]=iS[j];

iS[j]=temp;

int t = (iS[i]+(iS[j] % 256)) % 256;

int iY = iS[t];

char iCY = (char)iY;

iOutputChar[x] =(char)( iInputChar[x] ^ iCY) ;

}

return new String(iOutputChar);

}

加密和解密都用这一个方法。也就是说参数String aInput 可以传一个明文,也可以传一个加密后的字符串,程序会自动的识别。然后执行加解密的响应操作。

使用例子如下:

public static void mainGEyhxw(String[] args) {

String inputStr = "做个好男人";

String key = "abcdefg";

String str = HloveyRC4(inputStr,key);

//打印加密后的字符串

System.out.println(str);

//打印解密后的字符串

System.out.println(HloveyRC4(str,key));

}

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

MD5在线加密工具:

http://tools.jb51.net/password/CreateMD5Password

迅雷、快车、旋风URL加密/解密工具:

http://tools.jb51.net/password/urlrethunder

在线散列/哈希算法加密工具:

http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:

http://tools.jb51.net/password/sha_encode

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

{

i = (i+1) % 256;

j = (j+iS[i]) % 256;

int temp = iS[i];

iS[i]=iS[j];

iS[j]=temp;

int t = (iS[i]+(iS[j] % 256)) % 256;

int iY = iS[t];

char iCY = (char)iY;

iOutputChar[x] =(char)( iInputChar[x] ^ iCY) ;

}

return new String(iOutputChar);

}

加密和解密都用这一个方法。也就是说参数String aInput 可以传一个明文,也可以传一个加密后的字符串,程序会自动的识别。然后执行加解密的响应操作。

使用例子如下:

public static void mainGEyhxw(String[] args) {

String inputStr = "做个好男人";

String key = "abcdefg";

String str = HloveyRC4(inputStr,key);

//打印加密后的字符串

System.out.println(str);

//打印解密后的字符串

System.out.println(HloveyRC4(str,key));

}

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

MD5在线加密工具:

http://tools.jb51.net/password/CreateMD5Password

迅雷、快车、旋风URL加密/解密工具:

http://tools.jb51.net/password/urlrethunder

在线散列/哈希算法加密工具:

http://tools.jb51.net/password/hash_encrypt

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

http://tools.jb51.net/password/hash_md5_sha

在线sha1/sha224/sha256/sha384/sha512加密工具:

http://tools.jb51.net/password/sha_encode

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口自动化测试工具mock(接口自动化测试方案详解)
下一篇:深入了解java内存分配和回收策略
相关文章

 发表评论

暂时没有评论,来抢沙发吧~