本文整理汇总了C++中EqualityComparisonFilter::ChannelMessageSeriesEnd方法的典型用法代码示例。如果您正苦于以下问题:C++ EqualityComparisonFilter::ChannelMessageSeriesEnd方法的具体用法?C++ EqualityComparisonFilter::ChannelMessageSeriesEnd怎么用?C++ EqualityComparisonFilter::ChannelMessageSeriesEnd使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EqualityComparisonFilter
的用法示例。
在下文中一共展示了EqualityComparisonFilter::ChannelMessageSeriesEnd方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: EncryptionPairwiseConsistencyTest
void EncryptionPairwiseConsistencyTest(const PK_Encryptor &encryptor, const PK_Decryptor &decryptor)
{
try
{
#ifdef OS_RNG_AVAILABLE
AutoSeededX917RNG<DES_EDE3> rng;
#else
RandomNumberGenerator &rng = NullRNG();
#endif
const char *testMessage ="test message";
EqualityComparisonFilter comparison;
comparison.ChannelPutMessageEnd("0", (const byte *)testMessage, strlen(testMessage));
StringSource(
testMessage,
true,
new PK_EncryptorFilter(
rng,
encryptor,
new PK_DecryptorFilter(rng, decryptor, new ChannelSwitch(comparison, "1"))));
comparison.ChannelMessageSeriesEnd("0");
comparison.ChannelMessageSeriesEnd("1");
}
catch (...)
{
throw SelfTestFailure(encryptor.AlgorithmName() + ": pairwise consistency test failed");
}
}
示例2: GzipFile
void GzipFile(const char *in, const char *out, int deflate_level)
{
// FileSource(in, true, new Gzip(new FileSink(out), deflate_level));
// use a filter graph to compare decompressed data with original
//
// Source ----> Gzip ------> Sink
// \ |
// \ Gunzip
// \ |
// \ v
// > ComparisonFilter
EqualityComparisonFilter comparison;
Gunzip gunzip(new ChannelSwitch(comparison, "0"));
gunzip.SetAutoSignalPropagation(0);
FileSink sink(out);
ChannelSwitch *cs;
Gzip gzip(cs = new ChannelSwitch(sink), deflate_level);
cs->AddDefaultRoute(gunzip);
cs = new ChannelSwitch(gzip);
cs->AddDefaultRoute(comparison, "1");
FileSource source(in, true, cs);
comparison.ChannelMessageSeriesEnd("0");
comparison.ChannelMessageSeriesEnd("1");
}
示例3: KnownAnswerTest
void KnownAnswerTest(HashTransformation &hash, const char *message, const char *digest)
{
EqualityComparisonFilter comparison;
StringSource(digest, true, new HexDecoder(new ChannelSwitch(comparison, "1")));
StringSource(message, true, new HashFilter(hash, new ChannelSwitch(comparison, "0")));
comparison.ChannelMessageSeriesEnd("0");
comparison.ChannelMessageSeriesEnd("1");
}
示例4: SignatureKnownAnswerTest
void SignatureKnownAnswerTest(const char *key, const char *message, const char *signature, SCHEME *dummy = NULL)
{
typename SCHEME::Signer signer(StringSource(key, true, new HexDecoder).Ref());
typename SCHEME::Verifier verifier(signer);
EqualityComparisonFilter comparison;
StringSource(message, true, new SignerFilter(NullRNG(), signer, new ChannelSwitch(comparison, "0")));
StringSource(signature, true, new HexDecoder(new ChannelSwitch(comparison, "1")));
comparison.ChannelMessageSeriesEnd("0");
comparison.ChannelMessageSeriesEnd("1");
VerifierFilter verifierFilter(verifier, NULL, VerifierFilter::SIGNATURE_AT_BEGIN | VerifierFilter::THROW_EXCEPTION);
StringSource(signature, true, new HexDecoder(new Redirector(verifierFilter, false)));
StringSource(message, true, new Redirector(verifierFilter));
}
示例5: SignatureKnownAnswerTest
void SignatureKnownAnswerTest(const char *key, const char *message, const char *signature, SCHEME *dummy = NULL)
{
#ifdef OS_RNG_AVAILABLE
DefaultAutoSeededRNG rng;
#else
RandomNumberGenerator &rng = NullRNG();
#endif
typename SCHEME::Signer signer(StringSource(key, true, new HexDecoder).Ref());
typename SCHEME::Verifier verifier(signer);
EqualityComparisonFilter comparison;
StringSource(message, true, new SignerFilter(rng, signer, new ChannelSwitch(comparison, "0")));
StringSource(signature, true, new HexDecoder(new ChannelSwitch(comparison, "1")));
comparison.ChannelMessageSeriesEnd("0");
comparison.ChannelMessageSeriesEnd("1");
VerifierFilter verifierFilter(verifier, NULL, VerifierFilter::SIGNATURE_AT_BEGIN | VerifierFilter::THROW_EXCEPTION);
StringSource(signature, true, new HexDecoder(new Redirector(verifierFilter, Redirector::DATA_ONLY)));
StringSource(message, true, new Redirector(verifierFilter));
}