mirror of
https://github.com/vlang/v.git
synced 2025-08-04 02:07:28 -04:00
hash: make public the hash.Hash interface, add tests to current implementers (#21984)
This commit is contained in:
parent
e906033e4e
commit
1a8eff8d2b
@ -2,6 +2,14 @@
|
||||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
import crypto.md5
|
||||
import hash
|
||||
|
||||
// verify md5.Digest implements hash.Hash
|
||||
fn test_digest_implements_hash() {
|
||||
get_digest := fn () hash.Hash {
|
||||
return md5.new()
|
||||
}
|
||||
}
|
||||
|
||||
fn test_crypto_md5() {
|
||||
assert md5.sum('this is a md5 checksum.'.bytes()).hex() == '6fb421ff99036547655984da12973431'
|
||||
|
@ -2,6 +2,14 @@
|
||||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
import crypto.sha1
|
||||
import hash
|
||||
|
||||
// verify sha1.Digest implements hash.Hash
|
||||
fn test_digest_implements_hash() {
|
||||
get_digest := fn () hash.Hash {
|
||||
return sha1.new()
|
||||
}
|
||||
}
|
||||
|
||||
fn test_crypto_sha1() {
|
||||
assert sha1.sum('This is a sha1 checksum.'.bytes()).hex() == 'e100d74442faa5dcd59463b808983c810a8eb5a1'
|
||||
|
@ -2,6 +2,14 @@
|
||||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
import crypto.sha256
|
||||
import hash
|
||||
|
||||
// verify sha256.Digest implements hash.Hash
|
||||
fn test_digest_implements_hash() {
|
||||
get_digest := fn () hash.Hash {
|
||||
return sha256.new()
|
||||
}
|
||||
}
|
||||
|
||||
fn test_crypto_sha256() {
|
||||
assert sha256.sum('This is a sha256 checksum.'.bytes()).hex() == 'dc7163299659529eae29683eb1ffec50d6c8fc7275ecb10c145fde0e125b8727'
|
||||
|
@ -2,6 +2,14 @@
|
||||
// Use of this source code is governed by an MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
import crypto.sha512
|
||||
import hash
|
||||
|
||||
// verify sha512.Digest implements hash.Hash
|
||||
fn test_digest_implements_hash() {
|
||||
get_digest := fn () hash.Hash {
|
||||
return sha512.new()
|
||||
}
|
||||
}
|
||||
|
||||
const final_result = '4143e55fcba7e39b20f62a1368e5eb28f64a8859458886117ac66027832e0f9f5263daec688c439d2d0fa07059334668d39e59543039703dbb7e03ec9da7f8d7'
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
// that can be found in the LICENSE file.
|
||||
module hash
|
||||
|
||||
interface Hasher {
|
||||
pub interface Hash {
|
||||
// Sum appends the current hash to b and returns the resulting array.
|
||||
// It does not change the underlying hash state.
|
||||
sum(b []u8) []u8
|
||||
|
Loading…
x
Reference in New Issue
Block a user