// ---------------------------------------------------------------------------
// - t_sha384.cpp -
// - afnix cryptography - SHA-384 class tester module -
// ---------------------------------------------------------------------------
// - This program is free software; you can redistribute it and/or modify -
// - it provided that this copyright notice is kept intact. -
// - -
// - This program is distributed in the hope that it will be useful, but -
// - without any warranty; without even the implied warranty of -
// - merchantability or fitness for a particular purpose. In no event shall -
// - the copyright holder be liable for any direct, indirect, incidental or -
// - special damages arising in any way out of the use of this software. -
// ---------------------------------------------------------------------------
// - copyright (c) 1999-2007 amaury darsch -
// ---------------------------------------------------------------------------
#include "Sha384.hpp"
int main (int, char**) {
using namespace afnix;
// create a SHA-384 message digest
Sha384 md;
if (md.getname () != "SHA-384") return 1;
// check digest as specified in FIPS PUB 180-2
String digest = md.compute ("abc");
if (digest != "CB00753F45A35E8B" "B5A03D699AC65007"
"272C32AB0EDED163" "1A8B605A43FF5BED"
"8086072BA1E7CC23" "58BAECA134C825A7") return 1;
// the afnix test as usual
digest = md.compute ("afnix");
if (digest != "33ABEC90674F5DC0" "823578EF189498FF"
"8B98B8A82FB7CEFD" "ACBF39428AAD0321"
"3ADCDC1317E884A8" "6A9DEBD2FFF6B3D4") return 1;
digest = md.compute ("afnix programming language");
if (digest != "57A06A41BB6D511C" "8A3F438DE77896A7"
"D501DB0F7948495D" "8B3CD1F0F9839652"
"1FC902465A492BDA" "79F6D91C57FCCDCA") return 1;
// success
return 0;
}
syntax highlighted by Code2HTML, v. 0.9.1