simpleshsstream.java

来自「gcc的JAVA模块的源代码」· Java 代码 · 共 67 行

JAVA
67
字号
// SimpleSHSStream.java/* Copyright (C) 2000  Free Software Foundation   This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License.  Please consult the file "LIBGCJ_LICENSE" fordetails.  */package gnu.gcj.io;import java.io.Serializable;import java.io.*;import java.lang.reflect.*;public class SimpleSHSStream extends java.io.DataOutputStream{  int counter;   final int SHS_BLOCKSIZE = 64;  final int SHS_DIGESTSIZE = 20;  byte buf[];  byte shs_info[];  native static byte [] shsFinal (byte info[]);  native static void shsUpdate (byte info[], byte buf[], int count);  native static byte [] shsInit ();  private void update (byte b)  {    buf [counter++] = b;    if (counter % SHS_BLOCKSIZE == 0)      {	counter = 0;	shsUpdate (shs_info, buf, SHS_BLOCKSIZE);      }  }        public void write (int b) throws IOException  {    update ((byte)b);    super.write (b);  }  public void write (byte[] b, int off, int len) throws IOException  {    for (int i = 0; i < len; i++)      write (b[i+off]);  }  public byte[] digest()  {    shsUpdate (shs_info, buf, counter);    return shsFinal (shs_info);  }  public SimpleSHSStream (OutputStream out)  {    super (out);    buf = new byte[SHS_BLOCKSIZE];    shs_info = shsInit ();    counter = 0;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?