rc4的简单实现

本文介绍了一个使用Java实现的RC4加密算法示例。通过用户输入的密钥和明文,程序生成了密钥流并对明文进行了加密处理。RC4是一种流加密算法,广泛应用于各种安全通信场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package 加密;


public class rc4 {

public static void main(String[] args) {
// TODO Auto-generated method stub
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("你输入的密钥字符串是:");
String key = input.next(); //输入密钥
char[] char1 = key.toCharArray();
int keylen=key.length();

int s[]=new int[256] ;
int t[]=new int[256];
for(int i=0;i<256;i++){ //初始化s
s[i]=i;
t[i]=(int)char1[i%keylen];
}
int j=0;
int shu=0;
for(int i=0;i<256;i++){
j=(j+s[i]+t[i])%256;
shu=s[i];
s[i]=s[j];
s[j]=shu;

}
System.out.print("你输入的所需加密明文是:");
String mw = input.next();
System.out.println(mw);//输入明文
int len1=mw.length();
char[] char2 = mw.toCharArray();
int a=0;
int b=0;
int e=0;
int miyao[]=new int[len1]; //密钥流生成
while(e<len1){
a=(a+1)%256;
b=(b+s[a])%256;
shu=s[a];
s[a]=s[b];
s[b]=shu;
j=(s[a]+s[b])%256;
miyao[e]=s[j];
e++;

}

char[] miwen=new char[len1]; 
for(int i=0;i<len1;i++){
miwen[i]=(char)(miyao[i]^(int)char2[i]);
}
for(int i=0;i<len1;i++){
System.out.print(miwen[i]);
}


}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值