MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / Transform256

Function Transform256

extra/yassl/taocrypt/src/sha.cpp:461–492  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

459
460
461static void Transform256(word32* digest_, word32* buffer_)
462{
463 const word32* K = K256;
464
465 word32 W[16];
466 word32 T[8];
467
468 // Copy digest to working vars
469 memcpy(T, digest_, sizeof(T));
470
471 // 64 operations, partially loop unrolled
472 for (unsigned int j = 0; j < 64; j += 16) {
473 R( 0); R( 1); R( 2); R( 3);
474 R( 4); R( 5); R( 6); R( 7);
475 R( 8); R( 9); R(10); R(11);
476 R(12); R(13); R(14); R(15);
477 }
478
479 // Add the working vars back into digest
480 digest_[0] += a(0);
481 digest_[1] += b(0);
482 digest_[2] += c(0);
483 digest_[3] += d(0);
484 digest_[4] += e(0);
485 digest_[5] += f(0);
486 digest_[6] += g(0);
487 digest_[7] += h(0);
488
489 // Wipe variables
490 memset(W, 0, sizeof(W));
491 memset(T, 0, sizeof(T));
492}
493
494
495// undef for 256

Callers 1

TransformMethod · 0.85

Calls 1

fFunction · 0.85

Tested by

no test coverage detected