(s)
| 1434 | return result.join(""); |
| 1435 | } |
| 1436 | md5(s) { |
| 1437 | if (BigNumber.isBigNumber(s) || (!isNaN(parseFloat(s)) && isFinite(s))) { |
| 1438 | s = s.toString() |
| 1439 | } |
| 1440 | let string = s; |
| 1441 | |
| 1442 | function RotateLeft(lValue, iShiftBits) { |
| 1443 | return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits)); |
| 1444 | } |
| 1445 | |
| 1446 | function AddUnsigned(lX, lY) { |
| 1447 | let lX4; |
| 1448 | let lY4; |
| 1449 | let lX8; |
| 1450 | let lY8; |
| 1451 | let lResult; |
| 1452 | lX8 = (lX & 0x80000000); |
| 1453 | lY8 = (lY & 0x80000000); |
| 1454 | lX4 = (lX & 0x40000000); |
| 1455 | lY4 = (lY & 0x40000000); |
| 1456 | lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF); |
| 1457 | if (lX4 & lY4) { |
| 1458 | return (lResult ^ 0x80000000 ^ lX8 ^ lY8); |
| 1459 | } |
| 1460 | if (lX4 | lY4) { |
| 1461 | if (lResult & 0x40000000) { |
| 1462 | return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); |
| 1463 | } else { |
| 1464 | return (lResult ^ 0x40000000 ^ lX8 ^ lY8); |
| 1465 | } |
| 1466 | } else { |
| 1467 | return (lResult ^ lX8 ^ lY8); |
| 1468 | } |
| 1469 | } |
| 1470 | |
| 1471 | function F(x, y, z) { |
| 1472 | return (x & y) | ((~x) & z); |
| 1473 | } |
| 1474 | |
| 1475 | function G(x, y, z) { |
| 1476 | return (x & z) | (y & (~z)); |
| 1477 | } |
| 1478 | |
| 1479 | function H(x, y, z) { |
| 1480 | return (x ^ y ^ z); |
| 1481 | } |
| 1482 | |
| 1483 | function I(x, y, z) { |
| 1484 | return (y ^ (x | (~z))); |
| 1485 | } |
| 1486 | |
| 1487 | function FF(a, b, c, d, x, s, ac) { |
| 1488 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); |
| 1489 | return AddUnsigned(RotateLeft(a, s), b); |
| 1490 | } |
| 1491 | |
| 1492 | function GG(a, b, c, d, x, s, ac) { |
| 1493 | a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); |
no test coverage detected