package com.adobe.crypto
{
import flash.utils.ByteArray;
import flexunit.framework.TestCase;
import flexunit.framework.TestSuite;
import com.adobe.crypto.SHA256;
public class SHA224Test extends TestCase {
public function SHA224Test( methodName:String = null ) {
super( methodName );
}
public function testSHA224():void {
assertSHA224( "abc", "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7" );
assertSHA224( "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525" );
var millionAs:String = new String("");
for ( var i:int = 0; i < 1000000; i++ ) {
millionAs += "a";
}
assertSHA224( millionAs, "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67" );
}
public function testSHA224Binary():void {
assertSHA224Binary( "abc", "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7" );
assertSHA224Binary( "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525" );
var millionAs:String = new String("");
for ( var i:int = 0; i < 1000000; i++ ) {
millionAs += "a";
}
assertSHA224Binary( millionAs, "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67" );
}
public function testSHA224Base64():void {
}
private function assertSHA224( value:String, expected:String ):void {
var result:String = SHA224.hash( value );
assertTrue( "Hash of '" + value + "' returned wrong value ('" + result + "')",
result == expected );
}
private function assertSHA224Binary(value:String, expected:String):void {
var byteArray:ByteArray = new ByteArray();
byteArray.writeUTFBytes(value);
var result:String = SHA224.hashBytes( byteArray );
assertTrue( "Hash of '" + value + "' returned wrong value ('" + result + "')",
result == expected );
}
private function assertSHA224Base64( value:String, expected:String ):void {
var result:String = SHA224.hashToBase64( value );
assertTrue( "Hash of '" + value + "' returned wrong value ('" + result + "')",
result == expected );
}
}
}