test_class.declarator: encryptAlgorithm
test_class.modifier: private
test_class.original_string: private EncryptAlgorithm encryptAlgorithm;
test_class.type: EncryptAlgorithm
test_class.var_name: encryptAlgorithm
test_class.file: shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/test/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithmTest.java
test_class.identifier: RC4EncryptAlgorithmTest
test_case.body: @Test
      public void assertDecryptWithNullCiphertext() {
          assertNull(encryptAlgorithm.decrypt(null));
      }
test_case.class_method_signature: RC4EncryptAlgorithmTest.assertDecryptWithNullCiphertext()
test_case.full_signature: @Test public void assertDecryptWithNullCiphertext()
test_case.identifier: assertDecryptWithNullCiphertext
test_case.invocations: assertNull decrypt
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertDecryptWithNullCiphertext()
focal_class.declarator: RC4_KEY = "rc4-key-value"
focal_class.modifier: private static final
focal_class.original_string: private static final String RC4_KEY = "rc4-key-value";
focal_class.type: String
focal_class.var_name: RC4_KEY
focal_class.declarator: SBOX_LENGTH = 256
focal_class.modifier: private static final
focal_class.original_string: private static final int SBOX_LENGTH = 256;
focal_class.type: int
focal_class.var_name: SBOX_LENGTH
focal_class.declarator: KEY_MIN_LENGTH = 5
focal_class.modifier: private static final
focal_class.original_string: private static final int KEY_MIN_LENGTH = 5;
focal_class.type: int
focal_class.var_name: KEY_MIN_LENGTH
focal_class.declarator: key = new byte[SBOX_LENGTH - 1]
focal_class.modifier: private
focal_class.original_string: private byte[] key = new byte[SBOX_LENGTH - 1];
focal_class.type: byte[]
focal_class.var_name: key
focal_class.declarator: sBox = new int[SBOX_LENGTH]
focal_class.modifier: private
focal_class.original_string: private int[] sBox = new int[SBOX_LENGTH];
focal_class.type: int[]
focal_class.var_name: sBox
focal_class.declarator: props = new Properties()
focal_class.modifier: @Getter
      @Setter
      private
focal_class.original_string: @Getter
      @Setter
      private Properties props = new Properties();
focal_class.type: Properties
focal_class.var_name: props
focal_class.file: shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-common/src/main/java/org/apache/shardingsphere/encrypt/algorithm/RC4EncryptAlgorithm.java
focal_class.identifier: RC4EncryptAlgorithm
focal_class.interfaces: implements EncryptAlgorithm
focal_class.class_method_signature: RC4EncryptAlgorithm.init()
focal_class.full_signature: @Override public void init()
focal_class.identifier: init
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void init()
focal_class.class_method_signature: RC4EncryptAlgorithm.encrypt(final Object plaintext)
focal_class.full_signature: @Override public String encrypt(final Object plaintext)
focal_class.identifier: encrypt
focal_class.modifiers: @Override public
focal_class.parameters: (final Object plaintext)
focal_class.return: String
focal_class.signature: String encrypt(final Object plaintext)
focal_class.class_method_signature: RC4EncryptAlgorithm.decrypt(final String ciphertext)
focal_class.full_signature: @Override public Object decrypt(final String ciphertext)
focal_class.identifier: decrypt
focal_class.modifiers: @Override public
focal_class.parameters: (final String ciphertext)
focal_class.return: Object
focal_class.signature: Object decrypt(final String ciphertext)
focal_class.class_method_signature: RC4EncryptAlgorithm.handle(final byte[] data, final byte[] key)
focal_class.full_signature: private byte[] handle(final byte[] data, final byte[] key)
focal_class.identifier: handle
focal_class.modifiers: private
focal_class.parameters: (final byte[] data, final byte[] key)
focal_class.return: byte[]
focal_class.signature: byte[] handle(final byte[] data, final byte[] key)
focal_class.class_method_signature: RC4EncryptAlgorithm.reset()
focal_class.full_signature: private void reset()
focal_class.identifier: reset
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: RC4EncryptAlgorithm.crypt(final byte[] message)
focal_class.full_signature: private byte[] crypt(final byte[] message)
focal_class.identifier: crypt
focal_class.modifiers: private
focal_class.parameters: (final byte[] message)
focal_class.return: byte[]
focal_class.signature: byte[] crypt(final byte[] message)
focal_class.class_method_signature: RC4EncryptAlgorithm.initSBox(final byte[] key)
focal_class.full_signature: private int[] initSBox(final byte[] key)
focal_class.identifier: initSBox
focal_class.modifiers: private
focal_class.parameters: (final byte[] key)
focal_class.return: int[]
focal_class.signature: int[] initSBox(final byte[] key)
focal_class.class_method_signature: RC4EncryptAlgorithm.swap(final int i, final int j, final int[] sBox)
focal_class.full_signature: private void swap(final int i, final int j, final int[] sBox)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (final int i, final int j, final int[] sBox)
focal_class.return: void
focal_class.signature: void swap(final int i, final int j, final int[] sBox)
focal_class.class_method_signature: RC4EncryptAlgorithm.setKey(final byte[] key)
focal_class.full_signature: private void setKey(final byte[] key)
focal_class.identifier: setKey
focal_class.modifiers: private
focal_class.parameters: (final byte[] key)
focal_class.return: void
focal_class.signature: void setKey(final byte[] key)
focal_class.class_method_signature: RC4EncryptAlgorithm.getType()
focal_class.full_signature: @Override public String getType()
focal_class.identifier: getType
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getType()
focal_method.body: @Override
      public Object decrypt(final String ciphertext) {
          if (null == ciphertext) {
              return null;
          }
          byte[] result = handle(Base64.decodeBase64(ciphertext), key);
          return new String(result, StandardCharsets.UTF_8);
      }
focal_method.class_method_signature: RC4EncryptAlgorithm.decrypt(final String ciphertext)
focal_method.full_signature: @Override public Object decrypt(final String ciphertext)
focal_method.identifier: decrypt
focal_method.invocations: handle decodeBase64
focal_method.modifiers: @Override public
focal_method.parameters: (final String ciphertext)
focal_method.return: Object
focal_method.signature: Object decrypt(final String ciphertext)