刚才忽悠完了sha1的填充,非填充计算,最后一块

clear

 

set data[ 0 ] = ""

 

for a = 0 to 100

       set data[ 0 ] = $data[ 0 ] $a

next a

 

message "原始输入数据是                " $data[ 0 ]

 

message "将输入数据分成两部分前一部分是64的整数倍剩下的为后一部分"

 

set data[ 1 ] = mid( $data[ 0 ], 0, 64 )

set data[ 2 ] = mid( $data[ 0 ], 64 )

 

message "前一部分是                    " $data[ 1 ]

message "后一部分是                    " $data[ 2 ]

 

message "对前一部分进行sha1非填充计算"

 

set data[ 3 ] = sha1_hash_nonfill( $data[ 1 ] )

 

message "前一部分的hash               " $data[ 3 ]

 

message "计算全部数据的sha1"

 

set data[ 4 ] = sha1_hash( $data[ 0 ] )

 

message "所有数据的hash               " $data[ 4 ]

 

message "根据前一部分数据的长度前一部分数据的sha1以及最后一块的数据计算所有数据的sha1"

 

set data[ 5 ] = sha1_hash_lastblock( 64, $data[ 3 ], $data[ 2 ] )

message "分步计算所有数据的hash       " $data[ 5 ]

 

if $data[ 5 ] == $data[ 4 ]

       message "sha1计算完全成功"

else

       message "sha1计算失败"

       pause

endif

 

 

 

//[-]==========================[X]

//|原始输入数据是                000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364

//[-]==========================[-]

 

//[-]==========================[X]

//|将输入数据分成两部分,前一部分是64的整数倍,剩下的为后一部分

//[-]==========================[-]

 

//[-]==========================[X]

//|前一部分是                    000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F

//[-]==========================[-]

 

//[-]==========================[X]

//|后一部分是                    404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F6061626364

//[-]==========================[-]

 

//[-]==========================[X]

//|对前一部分进行sha1非填充计算

//[-]==========================[-]

 

//[-]==========================[X]

//|前一部分的hash是               B9AC757BBC2979252E22727406872F94CBEA56A1

//[-]==========================[-]

 

//[-]==========================[X]

//|计算全部数据的sha1值

//[-]==========================[-]

 

//[-]==========================[X]

//|所有数据的hash是               AF2AF2734BB2BAA288940CB62109F4849DAA347F

//[-]==========================[-]

 

//[-]==========================[X]

//|根据前一部分数据的长度,前一部分数据的sha1值,以及最后一块的数据计算所有数据的sha1值

//[-]==========================[-]

 

//[-]==========================[X]

//|分步计算所有数据的hash是       AF2AF2734BB2BAA288940CB62109F4849DAA347F

//[-]==========================[-]

 

//[-]==========================[X]

//|sha1计算完全成功

//[-]==========================[-]

 

你可能感兴趣的:(smart)