MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / TransformD64Wrapper

Function TransformD64Wrapper

src/crypto/sha256.cpp:421–457  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

419
420template<TransformType tr>
421void TransformD64Wrapper(unsigned char* out, const unsigned char* in)
422{
423 uint32_t s[8];
424 static const unsigned char padding1[64] = {
425 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0
429 };
430 unsigned char buffer2[64] = {
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0
435 };
436 sha256::Initialize(s);
437 tr(s, in, 1);
438 tr(s, padding1, 1);
439 WriteBE32(buffer2 + 0, s[0]);
440 WriteBE32(buffer2 + 4, s[1]);
441 WriteBE32(buffer2 + 8, s[2]);
442 WriteBE32(buffer2 + 12, s[3]);
443 WriteBE32(buffer2 + 16, s[4]);
444 WriteBE32(buffer2 + 20, s[5]);
445 WriteBE32(buffer2 + 24, s[6]);
446 WriteBE32(buffer2 + 28, s[7]);
447 sha256::Initialize(s);
448 tr(s, buffer2, 1);
449 WriteBE32(out + 0, s[0]);
450 WriteBE32(out + 4, s[1]);
451 WriteBE32(out + 8, s[2]);
452 WriteBE32(out + 12, s[3]);
453 WriteBE32(out + 16, s[4]);
454 WriteBE32(out + 20, s[5]);
455 WriteBE32(out + 24, s[6]);
456 WriteBE32(out + 28, s[7]);
457}
458
459TransformType Transform = sha256::Transform;
460TransformD64Type TransformD64 = sha256::TransformD64;

Callers

nothing calls this directly

Calls 2

WriteBE32Function · 0.85
InitializeFunction · 0.70

Tested by

no test coverage detected