| 439 | |
| 440 | template<TransformType tr> |
| 441 | void TransformD64Wrapper(unsigned char* out, const unsigned char* in) |
| 442 | { |
| 443 | uint32_t s[8]; |
| 444 | static const unsigned char padding1[64] = { |
| 445 | 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 446 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 447 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 448 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0 |
| 449 | }; |
| 450 | unsigned char buffer2[64] = { |
| 451 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 452 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 453 | 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 454 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 |
| 455 | }; |
| 456 | sha256::Initialize(s); |
| 457 | tr(s, in, 1); |
| 458 | tr(s, padding1, 1); |
| 459 | WriteBE32(buffer2 + 0, s[0]); |
| 460 | WriteBE32(buffer2 + 4, s[1]); |
| 461 | WriteBE32(buffer2 + 8, s[2]); |
| 462 | WriteBE32(buffer2 + 12, s[3]); |
| 463 | WriteBE32(buffer2 + 16, s[4]); |
| 464 | WriteBE32(buffer2 + 20, s[5]); |
| 465 | WriteBE32(buffer2 + 24, s[6]); |
| 466 | WriteBE32(buffer2 + 28, s[7]); |
| 467 | sha256::Initialize(s); |
| 468 | tr(s, buffer2, 1); |
| 469 | WriteBE32(out + 0, s[0]); |
| 470 | WriteBE32(out + 4, s[1]); |
| 471 | WriteBE32(out + 8, s[2]); |
| 472 | WriteBE32(out + 12, s[3]); |
| 473 | WriteBE32(out + 16, s[4]); |
| 474 | WriteBE32(out + 20, s[5]); |
| 475 | WriteBE32(out + 24, s[6]); |
| 476 | WriteBE32(out + 28, s[7]); |
| 477 | } |
| 478 | |
| 479 | TransformType Transform = sha256::Transform; |
| 480 | TransformD64Type TransformD64 = sha256::TransformD64; |
nothing calls this directly
no test coverage detected