#include "bu/blowfish.h" #include "bu/sio.h" using Bu::sio; #define F(x) \ (((SB[0][x.byte.zero] + SB[1][x.byte.one]) ^ SB[2][x.byte.two]) + \ SB[3][x.byte.three]) Bu::Blowfish::Blowfish( Bu::Stream &rNext ) : Bu::Filter( rNext ) { } Bu::Blowfish::~Blowfish() { reset(); } void Bu::Blowfish::setPassword( const Bu::String &sPass ) { reset(); unsigned int i,j,len=sPass.getSize(); Word Work,null0,null1; if (len > 0) { j = 0; for (i=0;i