Data update
This commit is contained in:
parent
8e4e15fa56
commit
72eb4943cb
1853 changed files with 35514 additions and 9441 deletions
|
|
@ -0,0 +1,47 @@
|
|||
const
|
||||
INT_BITS = 32;
|
||||
|
||||
function rotateLeft(n, d: longword) := (n shl d) or (n shr (INT_BITS - d));
|
||||
|
||||
function rotateRight(n, d: longword) := (n shr d) or (n shl (INT_BITS - d));
|
||||
|
||||
function ownCalcPass(password, nonce: string): longword;
|
||||
begin
|
||||
var start := true;
|
||||
|
||||
foreach var c in nonce do
|
||||
begin
|
||||
if (c <> '0') and start then
|
||||
begin
|
||||
result := password.tointeger;
|
||||
start := false;
|
||||
end;
|
||||
case c of
|
||||
'0': ;
|
||||
'1': result := rotateRight(result, 7);
|
||||
'2': result := rotateRight(result, 4);
|
||||
'3': result := rotateRight(result, 3);
|
||||
'4': result := rotateLeft(result, 1);
|
||||
'5': result := rotateLeft(result, 5);
|
||||
'6': result := rotateLeft(result, 12);
|
||||
'7': result := (result and $0000FF00) or result shl 24
|
||||
or (result and $00FF0000) shr 16 or (result and $FF000000) shr 8;
|
||||
'8': result := result shl 16 or result shr 24 or (result and $00FF0000) shr 8;
|
||||
'9': result := not result;
|
||||
else raise new Exception('non-digit in nonce.');
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure testPasswordCalc(password, nonce: string; expected: longword);
|
||||
begin
|
||||
var res := ownCalcPass(password, nonce);
|
||||
print(if res = expected then 'PASS ' else 'FAIL ');
|
||||
println(password, nonce, res, expected);
|
||||
end;
|
||||
|
||||
begin
|
||||
testPasswordCalc('12345', '603356072', 25280520);
|
||||
testPasswordCalc('12345', '410501656', 119537670);
|
||||
testPasswordCalc('12345', '630292165', 4269684735);
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue