Cryptography

Decrypt RC4 ciphertext with a passphrase

RC4 Decrypt reverses the RC4 keystream with a passphrase-derived key and shows the plaintext for ciphertext from RC4 Encrypt here or from CryptoJS-compatible tools. Developers use it on legacy captures, to confirm old scripts decrypt to the expected values and to validate fixtures before deleting the code that produced them. RC4 has no padding or integrity check, so a wrong passphrase gives an error or noise rather than a clear failure.

How to use RC4 Decrypt

  1. Open RC4 Decrypt in the Toolbox101 app.
  2. Paste the entire ciphertext into the Ciphertext (Base64) box, keeping the U2FsdGVkX1 prefix. A truncated string will not decrypt.
  3. Enter the passphrase from the encryption step into the Passphrase box, exactly as typed then, including case and punctuation.
  4. Read the plaintext in the Output box. An error means the passphrase or the ciphertext is wrong.
  5. Click Copy to save the recovered plaintext.

Worked example

RC4 Decrypt returns the output below for this combination.

Input

U2FsdGVkX1+l1tXDqTnUFpVyqv4GlG2V4ifKBzt1IoRj5rSC

Key

rc4-demo-key

Output

RC4 round-trip works

Check it yourself: open RC4 Decrypt and enter the same input and key.

Frequently asked questions

What happens with the wrong RC4 passphrase?

The keystream comes out wrong, so the result is random bytes that usually are not valid UTF-8, and the tool shows "Could not decrypt". Unlike a block cipher there is no padding check to catch the mistake, so now and then the noise happens to be valid text. Either outcome is your signal to retry the passphrase.

Can this tool decrypt WEP traffic or old TLS packets?

No. WEP derives a 40- or 104-bit key directly and prepends a per-packet IV with no passphrase derivation, and TLS sessions negotiate transient keys, so neither produces the salted passphrase-based format this tool reads. It only decrypts ciphertext keyed from a passphrase the same way, such as CryptoJS RC4 output.

Where would I find RC4 ciphertext worth decrypting?

In encrypted exports from legacy integrations, test fixtures committed before RFC 7465, database columns once protected by old libraries, and backups of WEP-era tooling. If the generating code derived keys from a passphrase with a salted OpenSSL-style format, this tool can recover the plaintext without running that code.

Is RC4 decryption the same as RC4 encryption?

Yes, in the mechanics: RC4 generates a keystream and XORs it with the data, so encrypting and decrypting are the same operation on the bytes. The practical difference is bookkeeping, not math, because this tool also removes the salt header and derives the key from your passphrase before running the stream.

Use RC4 Decrypt now

Runs in your browser. Nothing you type is uploaded.