import javax.crypto.spec.SecretKeySpec
import javax.xml.bind.DatatypeConverter
public class Test {
public static void main(String[] args) throws Exception{
Cipher cipher=Cipher.getInstance("RC4")
String pwd="123456"
String ptext="Hello World 你好"
SecretKeySpec key=new SecretKeySpec(pwd.getBytes("UTF-8"), "RC4")
cipher.init(Cipher.ENCRYPT_MODE, key)
byte[] cdata =cipher.update(ptext.getBytes("UTF-8"))
//解密
cipher.init(Cipher.DECRYPT_MODE, key)
byte[] ddata =cipher.update(cdata)
System.out.println("密码: "+pwd)
System.out.println("明文: "+ptext)
System.out.println("密文: "+DatatypeConverter.printHexBinary(cdata))
System.out.println("解密文: "+new String(ddata,"UTF-8"))
}
} 密码: 123456
明文: Hello World 你好
密文: 489D120B4B1342F30D5B46961D83E12B4875
解密文: Hello World 你好
RC4已经不太安全,只能用于一般加密,不能用于金融等紧要场合。
uniapp如何加密解密rc4步骤:1、第一步是生成S盒
2、初始排列S然后用T产生S的初始置换.从S到S255,对每个Si,根据由Ti确定的方案,将Si置换为S中的另一字节
3、产生密钥流矢量S一旦完成初始化,输人密钥就不再被使用。
4、最后进行异或运算data与key按位异或操作