| 43 | buffer.index=5; |
| 44 | } |
| 45 | void padding(int bsize){ |
| 46 | int len=buffer.index; |
| 47 | int pad=(-len)&(bsize-1); |
| 48 | if(pad<bsize){ |
| 49 | pad+=bsize; |
| 50 | } |
| 51 | len=len+pad-4; |
| 52 | ba4[0]=(byte)(len>>>24); |
| 53 | ba4[1]=(byte)(len>>>16); |
| 54 | ba4[2]=(byte)(len>>>8); |
| 55 | ba4[3]=(byte)(len); |
| 56 | System.arraycopy(ba4, 0, buffer.buffer, 0, 4); |
| 57 | buffer.buffer[4]=(byte)pad; |
| 58 | synchronized(random){ |
| 59 | random.fill(buffer.buffer, buffer.index, pad); |
| 60 | } |
| 61 | buffer.skip(pad); |
| 62 | //buffer.putPad(pad); |
| 63 | /* |
| 64 | for(int i=0; i<buffer.index; i++){ |
| 65 | System.err.print(Integer.toHexString(buffer.buffer[i]&0xff)+":"); |
| 66 | } |
| 67 | System.err.println(""); |
| 68 | */ |
| 69 | } |
| 70 | |
| 71 | int shift(int len, int bsize, int mac){ |
| 72 | int s=len+5+9; |