dlib C++ Library - md5.cpp

// Copyright (C) 2007 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#include <dlib/md5.h>
#include <sstream>
#include <string>
#include <cstdlib>
#include <ctime>
#include "tester.h"
namespace 
{
 using namespace test;
 using namespace dlib;
 using namespace std;
 logger dlog("test.md5");
 void md5_test (
 )
 /*!
 ensures
 - runs tests on the md5 stuff compliance with the specs
 !*/
 { 
 DLIB_TEST(md5 ("") == "d41d8cd98f00b204e9800998ecf8427e");
 DLIB_TEST(md5 ("a") == "0cc175b9c0f1b6a831c399e269772661");
 DLIB_TEST(md5 ("abc") == "900150983cd24fb0d6963f7d28e17f72");
 DLIB_TEST(md5 ("message digest") == "f96b697d7cb7938d525a2f31aaf161d0");
 DLIB_TEST(md5 ("abcdefghijklmnopqrstuvwxyz") == "c3fcd3d76192e4007dfb496cca67e13b");
 DLIB_TEST(md5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") == "d174ab98d277d9f5a5611c2c9f419d9f");
 DLIB_TEST(md5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") == "57edf4a22be3c955ac49da2e2107b67a");
 // make sure the two versions of md5() always agree
 for (int num = 0; num < 2000; ++num)
 {
 std::string temp;
 for (int i = 0; i < num; ++i)
 temp += 'a';
 istringstream str(temp);
 DLIB_TEST(md5(temp) == md5(str));
 }
 }
 class md5_tester : public tester
 {
 public:
 md5_tester (
 ) :
 tester ("test_md5",
 "Runs tests on the md5 component.")
 {}
 void perform_test (
 )
 {
 md5_test();
 }
 } a;
}

AltStyle によって変換されたページ (->オリジナル) /