当前位置: 首页>>代码示例>>Java>>正文


Java Hexdump.hexdump方法代码示例

本文整理汇总了Java中jcifs.util.Hexdump.hexdump方法的典型用法代码示例。如果您正苦于以下问题:Java Hexdump.hexdump方法的具体用法?Java Hexdump.hexdump怎么用?Java Hexdump.hexdump使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在jcifs.util.Hexdump的用法示例。


在下文中一共展示了Hexdump.hexdump方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: SigningDigest

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public SigningDigest(byte[] macSigningKey, boolean bypass) throws SmbException {
    try {
        digest = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException ex) {
        if( log.level > 0 )
            ex.printStackTrace( log );
        throw new SmbException( "MD5", ex );
    }

    this.macSigningKey = macSigningKey;
    this.bypass = bypass;
    this.updates = 0;
    this.signSequence = 0;

    if( log.level >= 5 ) {
        log.println("macSigningKey:");
        Hexdump.hexdump( log, macSigningKey, 0, macSigningKey.length );
    }
}
 
开发者ID:codelibs,项目名称:jcifs,代码行数:20,代码来源:SigningDigest.java

示例2: run

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public void run(String str) throws Exception
{
    Base64 b64 = new Base64();

    byte[] bytes = b64.decode(str);

    Hexdump.hexdump(System.out, bytes, 0, bytes.length);
}
 
开发者ID:codelibs,项目名称:jcifs,代码行数:9,代码来源:TestBase64.java

示例3: update

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public void update( byte[] input, int offset, int len ) {
    if( log.level >= 5 ) {
        log.println( "update: " + updates + " " + offset + ":" + len );
        Hexdump.hexdump( log, input, offset, Math.min( len, 256 ));
        log.flush();
    }
    if( len == 0 ) {
        return; /* CRITICAL */
    }
    digest.update( input, offset, len );
    updates++;
}
 
开发者ID:codelibs,项目名称:jcifs,代码行数:13,代码来源:SigningDigest.java

示例4: digest

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public byte[] digest() {
    byte[] b;

    b = digest.digest();

    if( log.level >= 5 ) {
        log.println( "digest: " );
        Hexdump.hexdump( log, b, 0, b.length );
        log.flush();
    }
    updates = 0;

    return b;
}
 
开发者ID:codelibs,项目名称:jcifs,代码行数:15,代码来源:SigningDigest.java

示例5: readString

import jcifs.util.Hexdump; //导入方法依赖的package包/类
String readString( byte[] src, int srcIndex, int maxLen, boolean useUnicode ) {
        int len = 0;
        String str = null;
        try {
            if( useUnicode ) {
                // Unicode requires word alignment
                if((( srcIndex - headerStart ) % 2 ) != 0 ) {
                    srcIndex++;
                }
                while( src[srcIndex + len] != (byte)0x00 ||
                                            src[srcIndex + len + 1] != (byte)0x00 ) {
                    len += 2;
                    if( len > maxLen ) {
if( log.level > 0 )
Hexdump.hexdump( System.err, src, srcIndex, maxLen < 128 ? maxLen + 8 : 128 );
                        throw new RuntimeException( "zero termination not found" );
                    }
                }
                str = new String( src, srcIndex, len, UNI_ENCODING );
            } else {
                while( src[srcIndex + len] != (byte)0x00 ) {
                    len++;
                    if( len > maxLen ) {
if( log.level > 0 )
Hexdump.hexdump( System.err, src, srcIndex, maxLen < 128 ? maxLen + 8 : 128 );
                        throw new RuntimeException( "zero termination not found" );
                    }
                }
                str = new String( src, srcIndex, len, OEM_ENCODING );
            }
        } catch( UnsupportedEncodingException uee ) {
            if( log.level > 1 )
                uee.printStackTrace( log );
        }
        return str;
    }
 
开发者ID:codelibs,项目名称:jcifs,代码行数:37,代码来源:ServerMessageBlock.java

示例6: run

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public void run() {
    int nameTrnId;
    NameServicePacket response;

    try {
        while( thread == Thread.currentThread() ) {
            in.setLength( RCV_BUF_SIZE );

            socket.setSoTimeout( closeTimeout );
            socket.receive( in );

            if( log.level > 3 )
                log.println( "NetBIOS: new data read from socket" );

            nameTrnId = NameServicePacket.readNameTrnId( rcv_buf, 0 );
            response = (NameServicePacket)responseTable.get( new Integer( nameTrnId ));
            if( response == null || response.received ) {
                continue;
            }
            synchronized( response ) {
                response.readWireFormat( rcv_buf, 0 );
                response.received = true;

                if( log.level > 3 ) {
                    log.println( response );
                    Hexdump.hexdump( log, rcv_buf, 0, in.getLength() );
                }

                response.notify();
            }
        }
    } catch(SocketTimeoutException ste) {
    } catch( Exception ex ) {
        if( log.level > 2 )
            ex.printStackTrace( log );
    } finally {
        tryClose();
    }
}
 
开发者ID:jaeksoft,项目名称:jcifs-krb5,代码行数:40,代码来源:NameServiceClient.java

示例7: initSecContext

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public byte[] initSecContext(byte[] token, int offset, int len) throws SmbException {
        switch (state) {
            case 1:
                Type1Message msg1 = new Type1Message(ntlmsspFlags, auth.getDomain(), workstation);
                token = msg1.toByteArray();

                if (log.level >= 4) {
                    log.println(msg1);
                    if (log.level >= 6)
                        Hexdump.hexdump(log, token, 0, token.length);
                }

                state++;
                break;
            case 2:
                try {
                    Type2Message msg2 = new Type2Message(token);

                    if (log.level >= 4) {
                        log.println(msg2);
                        if (log.level >= 6)
                            Hexdump.hexdump(log, token, 0, token.length);
                    }

                    serverChallenge = msg2.getChallenge();
                    ntlmsspFlags &= (msg2.getFlags() | NtlmFlags.NTLMSSP_NEGOTIATE_SIGN);

//                  netbiosName = getNtlmsspListItem(token, 0x0001);

                    Type3Message msg3 = new Type3Message(msg2,
                                auth.getPassword(),
                                auth.getDomain(),
                                auth.getUsername(),
                                workstation,
                                ntlmsspFlags);
                    token = msg3.toByteArray();

                    if (log.level >= 4) {
                        log.println(msg3);
                        if (log.level >= 6)
                            Hexdump.hexdump(log, token, 0, token.length);
                    }

                    if ((ntlmsspFlags & NtlmFlags.NTLMSSP_NEGOTIATE_SIGN) != 0)
                        signingKey = msg3.getMasterKey();

                    isEstablished = true;
                    state++;
                    break;
                } catch (Exception e) {
                    throw new SmbException(e.getMessage(), e);
                }
            default:
                throw new SmbException("Invalid state");
        }
        return token;
    }
 
开发者ID:IdentityAutomation,项目名称:jcifs-idautopatch,代码行数:58,代码来源:NtlmContext.java

示例8: send

import jcifs.util.Hexdump; //导入方法依赖的package包/类
void send( NameServicePacket request, NameServicePacket response,
                                        int timeout ) throws IOException {
    Integer nid = null;
    int max = NbtAddress.NBNS.length;

    if (max == 0)
        max = 1; /* No WINs, try only bcast addr */

    synchronized( response ) {
        while (max-- > 0) {
            try {
                synchronized( LOCK ) {
                    request.nameTrnId = getNextNameTrnId();
                    nid = new Integer( request.nameTrnId );

                    out.setAddress( request.addr );
                    out.setLength( request.writeWireFormat( snd_buf, 0 ));
                    response.received = false;

                    responseTable.put( nid, response );
                    ensureOpen( timeout + 1000 );
                    socket.send( out );

                    if( log.level > 3 ) {
                        log.println( request );
                        Hexdump.hexdump( log, snd_buf, 0, out.getLength() );
                    }
                }

                long start = System.currentTimeMillis();
                while (timeout > 0) {
                    response.wait( timeout );

                    /* JetDirect printer can respond to regular broadcast query
                     * with node status so we need to check to make sure that
                     * the record type matches the question type and if not,
                     * loop around and try again.
                     */
                    if (response.received && request.questionType == response.recordType)
                        return;

                    response.received = false;
                    timeout -= System.currentTimeMillis() - start;
                }

            } catch( InterruptedException ie ) {
                throw new IOException(ie.getMessage());
            } finally {
                responseTable.remove( nid );
            }

            synchronized (LOCK) {
                if (NbtAddress.isWINS( request.addr ) == false)
                    break;
                                /* Message was sent to WINS but
                                 * failed to receive response.
                                 * Try a different WINS server.
                                 */
                if (request.addr == NbtAddress.getWINSAddress())
                    NbtAddress.switchWINS();
                request.addr = NbtAddress.getWINSAddress();
            }
        }
    }
}
 
开发者ID:IdentityAutomation,项目名称:jcifs-idautopatch,代码行数:66,代码来源:NameServiceClient.java

示例9: negotiate

import jcifs.util.Hexdump; //导入方法依赖的package包/类
private void negotiate( int port, ServerMessageBlock resp ) throws IOException {
        /* We cannot use Transport.sendrecv() yet because
         * the Transport thread is not setup until doConnect()
         * returns and we want to supress all communication
         * until we have properly negotiated.
         */
        synchronized (sbuf) {
            if (port == 139) {
                ssn139();
            } else {
                if (port == 0)
                    port = DEFAULT_PORT; // 445
/* These Socket constructors attempt to connect before SO_TIMEOUT can be applied
                if (localAddr == null) {
                    socket = new Socket( address.getHostAddress(), port );
                } else {
                    socket = new Socket( address.getHostAddress(), port, localAddr, localPort );
                }
                socket.setSoTimeout( SO_TIMEOUT );
*/
                socket = new Socket();
                if (localAddr != null)
                    socket.bind(new InetSocketAddress(localAddr, localPort));
                socket.connect(new InetSocketAddress(address.getHostAddress(), port), CONN_TIMEOUT);
                socket.setSoTimeout( SO_TIMEOUT );

                out = socket.getOutputStream();
                in = socket.getInputStream();
            }

            if (++mid == 32000) mid = 1;
            NEGOTIATE_REQUEST.mid = mid;
            int n = NEGOTIATE_REQUEST.encode( sbuf, 4 );
            Encdec.enc_uint32be( n & 0xFFFF, sbuf, 0 ); /* 4 byte ssn msg header */

            if (log.level >= 4) {
                log.println( NEGOTIATE_REQUEST );
                if (log.level >= 6) {
                    Hexdump.hexdump( log, sbuf, 4, n );
                }
            }

            out.write( sbuf, 0, 4 + n );
            out.flush();
            /* Note the Transport thread isn't running yet so we can
             * read from the socket here.
             */
            if (peekKey() == null) /* try to read header */
                throw new IOException( "transport closed in negotiate" );
            int size = Encdec.dec_uint16be( sbuf, 2 ) & 0xFFFF;
            if (size < 33 || (4 + size) > sbuf.length ) {
                throw new IOException( "Invalid payload size: " + size );
            }
            readn( in, sbuf, 4 + 32, size - 32 );
            resp.decode( sbuf, 4 );

            if (log.level >= 4) {
                log.println( resp );
                if (log.level >= 6) {
                    Hexdump.hexdump( log, sbuf, 4, n );
                }
            }
        }
    }
 
开发者ID:jaeksoft,项目名称:jcifs-krb5,代码行数:65,代码来源:SmbTransport.java

示例10: doRecv

import jcifs.util.Hexdump; //导入方法依赖的package包/类
protected void doRecv( Response response ) throws IOException {
    ServerMessageBlock resp = (ServerMessageBlock)response;
    resp.useUnicode = useUnicode;
    resp.extendedSecurity = (capabilities & CAP_EXTENDED_SECURITY) == CAP_EXTENDED_SECURITY;

    synchronized (BUF) {
        System.arraycopy( sbuf, 0, BUF, 0, 4 + HEADER_LENGTH );
        int size = Encdec.dec_uint16be( BUF, 2 ) & 0xFFFF;
        if (size < (HEADER_LENGTH + 1) || (4 + size) > rcv_buf_size ) {
            throw new IOException( "Invalid payload size: " + size );
        }
        int errorCode = Encdec.dec_uint32le( BUF, 9 ) & 0xFFFFFFFF;
        if (resp.command == ServerMessageBlock.SMB_COM_READ_ANDX &&
                    (errorCode == 0 ||
                    errorCode == 0x80000005)) { // overflow indicator normal for pipe
            SmbComReadAndXResponse r = (SmbComReadAndXResponse)resp;
            int off = HEADER_LENGTH;
                                /* WordCount thru dataOffset always 27 */
            readn( in, BUF, 4 + off, 27 ); off += 27;
            resp.decode( BUF, 4 );
                                          /* EMC can send pad w/o data */
            int pad = r.dataOffset - off;
            if (r.byteCount > 0 && pad > 0 && pad < 4)
                readn( in, BUF, 4 + off, pad);

            if (r.dataLength > 0)
                readn( in, r.b, r.off, r.dataLength );  /* read direct */
        } else {
            readn( in, BUF, 4 + 32, size - 32 );
            resp.decode( BUF, 4 );
            if (resp instanceof SmbComTransactionResponse) {
                ((SmbComTransactionResponse)resp).nextElement();
            }
        }

        /* Verification fails (w/ W2K3 server at least) if status is not 0. This
         * suggests MS doesn't compute the signature (correctly) for error responses
         * (perhaps for DOS reasons).
         */
        if (digest != null && resp.errorCode == 0) {
            digest.verify( BUF, 4, resp );
        }

        if (log.level >= 4) {
            log.println( response );
            if (log.level >= 6) {
                Hexdump.hexdump( log, BUF, 4, size );
            }
        }
    }
}
 
开发者ID:jaeksoft,项目名称:jcifs-krb5,代码行数:52,代码来源:SmbTransport.java

示例11: initSecContext

import jcifs.util.Hexdump; //导入方法依赖的package包/类
public byte[] initSecContext(byte[] token, int offset, int len) throws SmbException {
        switch (state) {
            case 1:
                Type1Message msg1 = new Type1Message(ntlmsspFlags, auth.getDomain(), workstation);
                token = msg1.toByteArray();

                if (log.level >= 4) {
                    log.println(msg1);
                    if (log.level >= 6)
                        Hexdump.hexdump(log, token, 0, token.length);
                }

                state++;
                break;
            case 2:
                try {
                    Type2Message msg2 = new Type2Message(token);

                    if (log.level >= 4) {
                        log.println(msg2);
                        if (log.level >= 6)
                            Hexdump.hexdump(log, token, 0, token.length);
                    }

                    serverChallenge = msg2.getChallenge();
                    ntlmsspFlags &= msg2.getFlags();

//                  netbiosName = getNtlmsspListItem(token, 0x0001);

                    Type3Message msg3 = new Type3Message(msg2,
                                auth.getPassword(),
                                auth.getDomain(),
                                auth.getUsername(),
                                workstation,
                                ntlmsspFlags);
                    token = msg3.toByteArray();

                    if (log.level >= 4) {
                        log.println(msg3);
                        if (log.level >= 6)
                            Hexdump.hexdump(log, token, 0, token.length);
                    }

                    if ((ntlmsspFlags & NtlmFlags.NTLMSSP_NEGOTIATE_SIGN) != 0)
                        signingKey = msg3.getMasterKey();

                    isEstablished = true;
                    state++;
                    break;
                } catch (Exception e) {
                    throw new SmbException(e.getMessage(), e);
                }
            default:
                throw new SmbException("Invalid state");
        }
        return token;
    }
 
开发者ID:jaeksoft,项目名称:jcifs-krb5,代码行数:58,代码来源:NtlmContext.java


注:本文中的jcifs.util.Hexdump.hexdump方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。