RIPEMD-160: Difference between revisions

m
Minor improvement to code.
m (Minor improvement to coding.)
m (Minor improvement to code.)
Line 698:
int[] state = { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 };
byte[] bytes = addPadding(aMessage);
for ( int i = 0; i < bytes.length / BLOCK_LENGTH; i++ ) {
int[] schedule = new int[16];
for ( int j = 0; j < BLOCK_LENGTH; j++ ) {
schedule[j / 4] |= ( bytes[i * BLOCK_LENGTH + j] & 0xff ) << ( j % 4 * 8 );
}
Line 713:
t = Integer.rotateLeft(a + ff(jj + 1, b, c, d) + schedule[RL[j]] + KL[jj], SL[j]) + e;
tt = Integer.rotateLeft(aa + ff(5 - jj, bb, cc, dd) + schedule[RR[j]] + KR[jj], SR[j]) + ee;
a = e; e = d; d = Integer.rotateLeft(c, 10); c = b; b = t;
aa = ee; ee = dd; dd = Integer.rotateLeft(cc, 10); cc = bb; bb = tt;
Line 724:
state[4] = state[0] + b + cc;
state[0] = t;
}
String result = "";
Line 736:
byte[] bytes = aMessage.getBytes(StandardCharsets.UTF_8);
bytes = Arrays.copyOf(bytes, bytes.length + 1);
bytes[bytes.length - 1] = (byte) 0x80;
final int lengthpadding = aMessageBLOCK_LENGTH - ( bytes.length( % BLOCK_LENGTH );
int padding = BLOCK_LENGTH - ( (length + 1 ) % BLOCK_LENGTH );
if ( padding < 8 ) {
padding += BLOCK_LENGTH;
Line 745 ⟶ 744:
bytes = Arrays.copyOf(bytes, bytes.length + padding);
final long bitLength = 8aMessage.length() * length8;
for ( int i = 0; i < 8; i++ ) {
bytes[bytes.length - 8 + i] = (byte) ( bitLength >>> ( 8 * i ) );
894

edits