| 555 | } |
| 556 | |
| 557 | void DigestFile(const char *filename) |
| 558 | { |
| 559 | SHA1 sha; |
| 560 | RIPEMD160 ripemd; |
| 561 | SHA256 sha256; |
| 562 | Tiger tiger; |
| 563 | SHA512 sha512; |
| 564 | Whirlpool whirlpool; |
| 565 | vector_member_ptrs<HashFilter> filters(6); |
| 566 | filters[0].reset(new HashFilter(sha)); |
| 567 | filters[1].reset(new HashFilter(ripemd)); |
| 568 | filters[2].reset(new HashFilter(tiger)); |
| 569 | filters[3].reset(new HashFilter(sha256)); |
| 570 | filters[4].reset(new HashFilter(sha512)); |
| 571 | filters[5].reset(new HashFilter(whirlpool)); |
| 572 | |
| 573 | member_ptr<ChannelSwitch> channelSwitch(new ChannelSwitch); |
| 574 | size_t i; |
| 575 | for (i=0; i<filters.size(); i++) |
| 576 | channelSwitch->AddDefaultRoute(*filters[i]); |
| 577 | FileSource(filename, true, channelSwitch.release()); |
| 578 | |
| 579 | HexEncoder encoder(new FileSink(cout), false); |
| 580 | for (i=0; i<filters.size(); i++) |
| 581 | { |
| 582 | cout << filters[i]->AlgorithmName() << ": "; |
| 583 | filters[i]->TransferTo(encoder); |
| 584 | cout << "\n"; |
| 585 | } |
| 586 | } |
| 587 | |
| 588 | void HmacFile(const char *hexKey, const char *file) |
| 589 | { |
no test coverage detected