question: public String decryptString ( String sCipherText ) { int nLen = ( sCipherText . length ( ) > > 1 ) & ~ 7 ; if ( nLen < BlowfishECB . BLOCKSIZE ) return null ; byte [ ] cbciv = new byte [ BlowfishECB . BLOCKSIZE ] ; int nNumOfBytes = BinConverter . binHexToBytes ( sCipherText , cbciv , 0 , 0 , BlowfishECB . BLOCKSIZE ) ; if ( nNumOfBytes < BlowfishECB . BLOCKSIZE ) return null ; m_bfish . setCBCIV ( cbciv ) ; nLen -= BlowfishECB . BLOCKSIZE ; if ( nLen == 0 ) return "" ; byte [ ] buf = new byte [ nLen ] ; nNumOfBytes = BinConverter . binHexToBytes ( sCipherText , buf , BlowfishECB . BLOCKSIZE * 2 , 0 , nLen ) ; if ( nNumOfBytes < nLen ) return null ; m_bfish . decrypt ( buf ) ; int nPadByte = buf [ buf . length - 1 ] & 0x0ff ; if ( ( nPadByte > 8 ) || ( nPadByte < 0 ) ) nPadByte = 0 ; nNumOfBytes -= nPadByte ; if ( nNumOfBytes < 0 ) return "" ; return BinConverter . byteArrayToUNCString ( buf , 0 , nNumOfBytes ) ; }
target:  decrypts a hexbin string (handling is case sensitive)