v2 / vlib / crypto / sha1 / sha1_test.v
38 lines · 34 sloc · 1.21 KB · 1a8eff8d2bb6dcb8f98403eccbbb79eb1df6f99f
Raw
1// Copyright (c) 2019-2024 Alexander Medvednikov. All rights reserved.
2// Use of this source code is governed by an MIT license
3// that can be found in the LICENSE file.
4import crypto.sha1
5import hash
6
7// verify sha1.Digest implements hash.Hash
8fn test_digest_implements_hash() {
9 get_digest := fn () hash.Hash {
10 return sha1.new()
11 }
12}
13
14fn test_crypto_sha1() {
15 assert sha1.sum('This is a sha1 checksum.'.bytes()).hex() == 'e100d74442faa5dcd59463b808983c810a8eb5a1'
16}
17
18fn test_crypto_sha1_writer() {
19 mut digest := sha1.new()
20 digest.write('This is a'.bytes()) or { assert false }
21 digest.write(' sha1 checksum.'.bytes()) or { assert false }
22 mut sum := digest.sum([])
23 assert sum.hex() == 'e100d74442faa5dcd59463b808983c810a8eb5a1'
24 sum = digest.sum([])
25 assert sum.hex() == 'e100d74442faa5dcd59463b808983c810a8eb5a1'
26}
27
28fn test_crypto_sha1_writer_reset() {
29 mut digest := sha1.new()
30 digest.write('This is a'.bytes()) or { assert false }
31 digest.write(' sha1 checksum.'.bytes()) or { assert false }
32 _ = digest.sum([])
33 digest.reset()
34 digest.write('This is a'.bytes()) or { assert false }
35 digest.write(' sha1 checksum.'.bytes()) or { assert false }
36 sum := digest.sum([])
37 assert sum.hex() == 'e100d74442faa5dcd59463b808983c810a8eb5a1'
38}
39