RC4 Key: 
  • Character Set:
  • Format:
    (Encrypted format represents output, decrypted format represents input)

Description

RC4: short for Rivest Cipher 4, is a stream encryption algorithm designed by Ron Rivest in 1987. The key length is variable, and the same key is used for both encryption and decryption.

It is renowned for its simplicity and efficiency, and has been widely used in the realms of encrypted communication and data protection. The RC4 algorithm employs a variable-length key (typically ranging from 8 to 256 bytes) to generate a pseudo-random key stream, which is then XORed with the original data for encryption. For decryption, XORing the key stream with the ciphertext once more facilitates the restoration of the original data.

The crux of the RC4 algorithm lies in the process of generating the key stream, which hinges on the key and a pseudo-random number generator. It incorporates steps such as state vectors, permutation operations, and key scheduling to generate the key stream, endowing RC4 with the characteristics of speed and efficiency. However, despite its widespread application in the early design stages, over time researchers have unearthed some security vulnerabilities and weaknesses in RC4. For instance, RC4 is susceptible to bias attacks against the key and issues related to key reuse. Consequently, in modern encryption applications, the usage of RC4 is no longer recommended. In contrast, more robust and secure encryption algorithms such as AES (Advanced Encryption Standard) have supplanted RC4 in numerous domains.


Key(IV) Text Or Hex
  • Text represents the text format and is encoded in UTF-8 before being converted to a byte[] array.
  • Hex represents the hexadecimal format, and the input will be converted from a hexadecimal string to a byte[] array before encryption.
Character Set and Format encryption instructions
  • First Scenario, taking DES encryption as an example: select "Text" from the key dropdown, enter "12345678" as the Key, leave the IV empty; encrypt the string "中国abc". Choose character set "UTF-8". The encryption output is in hexadecimal format, select "Hex" from the format dropdown. The encrypted output result is "C886FF3D9DCB37FA1FA0EAD95889DF3E". View Example
  • Another Scenario, still using DES encryption as an example: select "Text" from the key dropdown, enter "12345678" as the Key, leave the IV empty; encrypt hexadecimal data, for example [0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08]. Choose character set "Hex". The encryption output is in Base64 format, select "Base64" from the format dropdown. The encrypted output result is "up/vqMd1Eq4d/TFcc22l3Q==". View Example
Character Set and Format decryption instructions
  • First Scenario, using DES decryption as an example: select "Text" from the key dropdown, enter "12345678" as the Key, leave the IV empty; decrypt the hexadecimal string "C886FF3D9DCB37FA1FA0EAD95889DF3E". Therefore, select "Hex" from the format dropdown for decryption, and the data encoding after decryption is "UTF-8". Choose character set "UTF-8". The decrypted string is "中国abc". View Example
  • Another Scenario, still using DES decryption as an example: select "Text" from the key dropdown, enter "12345678" as the Key, leave the IV empty; decrypt the Base64 string "up/vqMd1Eq4d/TFcc22l3Q==". Therefore, select "Base64" from the format dropdown for decryption, and there is no additional encoding after decryption, as it is hexadecimal data. Choose character set "Hex" (selecting "UTF-8" would result in garbled text). The final decrypted string is "0102030405060708". View Example