Io Reference







Encryption   /   Blowfish   /   Blowfish





The Blowfish object can be used to do encryption and decryption using the Blowfish keyed, symmetric block cipher.

Example encryption and decription;

	
key := "secret"
data := "this is a message"

encryptedData := Blowfish clone setKey(key) encrypt(data)
decryptedData := Blowfish clone setKey(key) decrypt(encryptedData)
Or using the stream API:
	
key := "secret"
data := "this is a message"

cipher = Blowfish clone
cipher setIsEncrypting(true)
cipher setKey(key)
cipher beginProcessing
cipher inputBuffer appendSeq(data)
cipher process
cipher endProcess
encryptedData := cipher outputBuffer

cipher = Blowfish clone
cipher setIsEncrypting(false)
cipher setKey(key)
cipher beginProcessing
cipher inputBuffer appendSeq(encryptedData)
cipher process
cipher endProcess
decryptedData := cipher outputBuffer
 
 
 



beginProcessing

Sets the key from the key slot and initializes the cipher.
decrypt(aSequence)

Returns an decrypted version of aSequence.
encrypt(aSequence)

Returns an encrypted version of aSequence.
endProcessing

Finish processing remaining bytes of inputBuffer.
inputBuffer

Returns the input buffer.
outputBuffer

Returns the output buffer.
process

Process the inputBuffer and appends the result to the outputBuffer. The processed inputBuffer is emptied except for the spare bytes at the end which don't fit into a cipher block.
setIsEncrypting(aBool)

If aBool is true, encrypting mode is on, otherwise, decrypting mode is on.