makePassword method
Make the 72-byte long password using version-specific strategy.
Implementation
Uint32List makePassword(List<int> password) {
int i, j;
var long32 = Uint32List(18);
var long = Uint8List.view(long32.buffer);
var pass8 = Uint8List.fromList(password);
for (i = 0; i < 72 && i < pass8.length; i++) {
long[i] = pass8[i];
}
if (i < 72) {
long[i++] = 0;
}
for (j = 0; i < 72; i++, j++) {
long[i] = long[j];
}
for (i = 0; i < 18; ++i) {
j = long32[i];
j = ((j << 24) & 0xff000000) |
((j << 8) & 0x00ff0000) |
((j >>> 8) & 0x0000ff00) |
((j >>> 24) & 0x000000ff);
long32[i] = j;
}
return long32;
}