Class RC4

java.lang.Object
org.aoju.bus.crypto.symmetric.RC4
All Implemented Interfaces:
Serializable

public class RC4 extends Object implements Serializable
RC4加密解密算法实现 注意:由于安全问题,已经基本不在HTTPS中使用了 来自:https://github.com/xSAVIKx/RC4-cipher/blob/master/src/main/java/com/github/xsavikx/rc4/RC4.java
Since:
Java 17+
Author:
Iurii Sergiichuk, Kimi Liu
See Also:
  • Constructor Details

    • RC4

      public RC4(String key) throws org.aoju.bus.core.exception.CryptoException
      构造
      Parameters:
      key - 密钥
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常
  • Method Details

    • encrypt

      public byte[] encrypt(String message, Charset charset) throws org.aoju.bus.core.exception.CryptoException
      加密
      Parameters:
      message - 消息
      charset - 编码
      Returns:
      密文
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常
    • encrypt

      public byte[] encrypt(String message) throws org.aoju.bus.core.exception.CryptoException
      加密,使用默认编码:UTF-8
      Parameters:
      message - 消息
      Returns:
      密文
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常
    • encryptHex

      public String encryptHex(byte[] data)
      加密
      Parameters:
      data - 数据
      Returns:
      加密后的Hex
    • encryptBase64

      public String encryptBase64(byte[] data)
      加密
      Parameters:
      data - 数据
      Returns:
      加密后的Base64
    • encryptHex

      public String encryptHex(String data, Charset charset)
      加密
      Parameters:
      data - 被加密的字符串
      charset - 编码
      Returns:
      加密后的Hex
    • encryptHex

      public String encryptHex(String data)
      加密,使用UTF-8编码
      Parameters:
      data - 被加密的字符串
      Returns:
      加密后的Hex
    • encryptBase64

      public String encryptBase64(String data, Charset charset)
      加密
      Parameters:
      data - 被加密的字符串
      charset - 编码
      Returns:
      加密后的Base64
    • encryptBase64

      public String encryptBase64(String data)
      加密,使用UTF-8编码
      Parameters:
      data - 被加密的字符串
      Returns:
      加密后的Base64
    • decrypt

      public String decrypt(byte[] message, Charset charset) throws org.aoju.bus.core.exception.CryptoException
      解密
      Parameters:
      message - 消息
      charset - 编码
      Returns:
      明文
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常
    • decrypt

      public String decrypt(byte[] message) throws org.aoju.bus.core.exception.CryptoException
      解密,使用默认编码UTF-8
      Parameters:
      message - 消息
      Returns:
      明文
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常
    • decrypt

      public String decrypt(String message)
      解密Hex(16进制)或Base64表示的字符串,使用默认编码UTF-8
      Parameters:
      message - 消息
      Returns:
      明文
    • decrypt

      public String decrypt(String message, Charset charset)
      解密Hex(16进制)或Base64表示的字符串
      Parameters:
      message - 明文
      charset - 解密后的charset
      Returns:
      明文
    • crypt

      public byte[] crypt(byte[] msg)
      加密或解密指定值,调用此方法前需初始化密钥
      Parameters:
      msg - 要加密或解密的消息
      Returns:
      加密或解密后的值
    • setKey

      public void setKey(String key) throws org.aoju.bus.core.exception.CryptoException
      设置密钥
      Parameters:
      key - 密钥
      Throws:
      org.aoju.bus.core.exception.CryptoException - key长度小于5或者大于255抛出此异常