Blowfish Encryption and Decryption
If you need to know about Blowfish encryption algorithm, please carefully read the instructions of this tool to set relevant parameters correctly.
The online Blowfish encryption and decryption tool provides online Blowfish encryption and decryption test. The encryption and decryption supports five encryption modes: CBC, CFB, OFB, CTR and ECB, and the input and output supports three formats: hex, string and base64.
Blowfish is a widely used symmetric encryption algorithm.
ECB (Electronic Code Book) : This mode of operation is the simplest of all. The plaintext is divided into small blocks . Then each block is encrypted with the same key and algorithm. Therefore, it produces the same result for the same block. This is the main weakness of this mode, and it's not recommended for encryption. It requires padding data.
CBC (Cipher Block Chaining) : In order to overcome the ECB weakness, CBC mode uses an Initialization Vector (IV) to augment the encryption. First, CBC uses the plaintext block xor with the IV. Then it encrypts the result to the ciphertext block. In the next block, it uses the encryption result to xor with the plaintext block until the last block. In this mode, encryption can't be parallelized, but decryption can be parallelized. It also requires padding data.
CTR (Counter) : This mode uses the value of a counter as an IV. It's very similar to OFB, but it uses the counter to be encrypted every time instead of the IV. This mode has two strengths, including encryption/decryption parallelization, and noise in one block does not affect other blocks.
OFB (Output FeedBack) : This mode can be used as a stream cipher. First, it encrypts the IV. Then it uses the encryption results to xor the plaintext to get ciphertext. It doesn’t require padding data, and won't be affected by the noisy block.
CFB (Cipher FeedBack) : This mode can be used as a stream cipher. First, it encrypts the IV, then it will xor with the plaintext block to get ciphertext. Then CFB encrypts the encryption result to xor the plaintext. It needs an IV. In this mode, decryption can be parallelized, but encryption can't be parallelized.
- Padding : Select whether to padding and how to pad the data blocks. If the length of the input data converted to bytes is a multiple of 8, you can use the nopadding method.
- Password : The password used for Blowfish encryption and decryption will use the selected character set to convert the input password into a byte array.The password byte array length is 32 - 448 bits( 4 - 56 bytes).
- IV : Initialize vector IV, which is not supported in ECB mode. The length of IV is 64 bits ( 8 bytes).
- In-Format : The format of input content can be string, hexadecimal string and base64 string. For Blowfish decryption, the input format does not support string.
- Out-Format : The output format of the encrypted result or decrypted original content. For Blowfish encryption, the output format does not support string.
- Charset : The selected charset will be used to convert the password and initialization vector into byte array, and the selected charset will be used for string-byte conversion of input and output format.