clear

a                   = dup( 70, 67 )
b                   = dup( 64, 67 )
c                   = dup( 6, 67 )

// sha1
sha1_result         = sha1_hash( $a )
if $sha1_result != 4F E5 57 CF 2B C4 88 D4 03 55 13 17 24 77 5F 91 FE 42 D2 72
    
?
    
pause
endif

// 分成两段
tmp                 = sha1_hash_nonfill( $b )
x                   = sha1_hash_lastblock( 64, $tmp, $c )
if $x != $sha1_result
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sha1_hash_init( 6767 )
// 64个
x                   = sha1_hash_update( $b )
// 4个
x                   = sha1_hash_dofinal( 67676767 )
if $x != $sha1_result
    
?
    
pause
endif

// sha224
sha224_result       = sha224_hash( $a )
if $sha224_result != 66 BD C8 F8 9E 50 1C C5 3B 90 C0 2E 5F 67 81 00 C0 2A 77 A2 CB 55 05 FB 04 62 6E 64
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sha224_hash_init( 6767 )
// 64个
x                   = sha224_hash_update( $b )
// 4个
x                   = sha224_hash_dofinal( 67676767 )
if $x != $sha224_result
    
?
    
pause
endif

// sha256
sha256_result       = sha256_hash( $a )
if $sha256_result != 34 6A EA 61 04 96 DB FE B0 46 BD C6 21 A7 B4 BD 5C CC A5 E4 C9 6D F2 C4 03 4D 15 67 35 65 4E 08
    
?
    
pause
endif
// 分成两段
tmp                 = sha256_hash_nonfill( $b )
x                   = sha256_hash_lastblock( 64, $tmp, $c )
if $x != $sha256_result
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sha256_hash_init( 6767 )
// 64个
x                   = sha256_hash_update( $b )
// 4个
x                   = sha256_hash_dofinal( 67676767 )
if $x != $sha256_result
    
?
    
pause
endif

bb                  = dup( 128, 67 )
cc                  = dup( 12, 67 )
// sha384
sha384_result       = sha384_hash( $a $a )
if $sha384_result != D8 76 E3 8A F1 BD 46 1B 50 35 71 02 05 96 1F CB E0 BA 62 4D 7F 0A FC 8E 5F 69 51 0A C1 90 AB 57 58 30 43 31 11 C6 BD DE C0 B2 4E 87 AA C5 79 02
    
?
    
pause
endif
// 分成两段
tmp                 = sha384_hash_nonfill( $bb )
x                   = sha384_hash_lastblock( 128, $tmp, $cc )
if $x != $sha384_result
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sha384_hash_init( 6767 )
// 64个
x                   = sha384_hash_update( $bb )
// 10个
x                   = sha384_hash_dofinal( 67676767676767676767 )
if $x != $sha384_result
    
?
    
pause
endif

// sha512
sha512_result       = sha512_hash( $a $a )
if $sha512_result != B0 17 7F 04 A8 50 8C 25 B8 4C 2C DD 2B A0 BE 86 40 2D 1B FF F3 55 D6 94 65 39 BA FA 89 89 E8 72 49 23 C9 62 5B 93 8B 85 F5 82 5B 2F 21 45 25 DA 04 1F 14 F6 42 BA 95 96 D2 75 39 74 B0 CD C2 77
    
?
    
pause
endif
// 分成两段
tmp                 = sha512_hash_nonfill( $bb )
x                   = sha512_hash_lastblock( 128, $tmp, $cc )
if $x != $sha512_result
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sha512_hash_init( 6767 )
// 64个
x                   = sha512_hash_update( $bb )
// 10个
x                   = sha512_hash_dofinal( 67676767676767676767 )
if $x != $sha512_result
    
?
    
pause
endif

// sm3160
sm3160_result       = sm3_160_hash( $a )
if $sm3160_result != D5 A6 20 54 25 E0 A1 63 26 7A 31 36 D5 3E CB AF 68 06 6A 6A
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sm3_160_hash_init( 6767 )
// 64个
x                   = sm3_160_hash_update( $b )
// 4个
x                   = sm3_160_hash_dofinal( 67676767 )
if $x != $sm3160_result
    
?
    
pause
endif

// sm3192
sm3192_result       = sm3_192_hash( $a )
if $sm3192_result != D5 A6 20 54 64 D2 AD B9 26 7A 31 36 D5 3E CB AF 18 B1 03 0C 68 06 6A 6A
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sm3_192_hash_init( 6767 )
// 64个
x                   = sm3_192_hash_update( $b )
// 4个
x                   = sm3_192_hash_dofinal( 67676767 )
if $x != $sm3192_result
    
?
    
pause
endif


// sm3256
sm3256_result       = sm3_hash( $a )
if $sm3256_result != 8C 76 A0 83 3D 51 A2 6F 41 32 0C DA 0F 4E 57 86 64 81 22 B8 59 83 0F D6 67 48 3D EC DA 70 9C 29
    
?
    
pause
endif

// 分成两段
tmp                 = sm3_hash_nonfill( $b )
x                   = sm3_hash_lastblock( 64, $tmp, $c )
if $x != $sm3256_result
    
?
    
pause
endif

// 分成多段
// 2个
x                   = sm3_256_hash_init( 6767 )
// 64个
x                   = sm3_256_hash_update( $b )
// 4个
x                   = sm3_256_hash_dofinal( 67676767 )
if $x != $sm3256_result
    
?
    
pause
endif

// md2
md2_result          = md2_hash( $a )
if $md2_result != 92 8C 00 4C 70 1E B3 1D CD C4 9C 39 26 E0 59 53
    
?
    
pause
endif
// 分成多段
// 2个
x                   = md2_hash_init( 6767 )
// 64个
x                   = md2_hash_update( $b )
// 4个
x                   = md2_hash_dofinal( 67676767 )
if $x != $md2_result
    
?
    
pause
endif

// md4
md4_result          = md4_hash( $a )
if $md4_result != CD AF 69 54 3D 4D 8C D5 2C A3 6D D4 07 42 8B 44
    
?
    
pause
endif
// 分成多段

// 2个
x                   = md4_hash_init( 6767 )
// 64个
x                   = md4_hash_update( $b )
// 4个
x                   = md4_hash_dofinal( 67676767 )
if $x != $md4_result
    
?
    
pause
endif

// md5
md5_result          = md5_hash( $a )
if $md5_result != D6 3A FF 78 26 47 0E 8C 18 74 8B 2F 03 6F A4 D1
    
?
    
pause
endif
// 分成多段

// 2个
x                   = md5_hash_init( 6767 )
// 64个
x                   = md5_hash_update( $b )
// 4个
x                   = md5_hash_dofinal( 67676767 )
if $x != $md5_result
    
?
    
pause
endif

ripemd_128_result   = ripemd128_hash( $a )
if $ripemd_128_result != 9DD736C02F3C4CF50BD8DCE68D5FC61A
    
?
    
pause
endif

ripemd_160_result   = ripemd160_hash( $a )
if $ripemd_160_result != BA956CBBD2F7720E9392332CF3A8D6F208CAA904
    
?
    
pause
endif