crypto: fix notices/errors for v -N test vlib/crypto

This commit is contained in:
Delyan Angelov 2023-12-25 20:00:35 +02:00
parent 5a9800b993
commit 30d6f7b294
No known key found for this signature in database
GPG key ID: 66886C0F12D595ED
3 changed files with 12 additions and 11 deletions

View file

@ -75,7 +75,7 @@ fn sign_generic(mut signature []u8, privatekey []u8, message []u8) ! {
mut h := sha512.sum512(seed)
mut s := edwards25519.new_scalar()
s.set_bytes_with_clamping(h[..32])!
mut prefix := h[32..]
mut prefix := unsafe { h[32..] }
mut mh := sha512.new()
mh.write(prefix)!

View file

@ -95,7 +95,7 @@ fn works_check_on_sign_input_string(item string) bool {
}
// assert pubkey.len == public_key_size
sig = sig[..ed25519.signature_size]
sig = unsafe { sig[..ed25519.signature_size] }
mut priv := []u8{len: ed25519.private_key_size}
copy(mut priv[..], privbytes)
copy(mut priv[32..], pubkey)

View file

@ -3,30 +3,31 @@
// that can be found in the LICENSE file.
import crypto.sha512
const final_result = '4143e55fcba7e39b20f62a1368e5eb28f64a8859458886117ac66027832e0f9f5263daec688c439d2d0fa07059334668d39e59543039703dbb7e03ec9da7f8d7'
fn test_crypto_sha512() {
assert sha512.sum512('This is a sha512 checksum.'.bytes()).hex() == '4143e55fcba7e39b20f62a1368e5eb28f64a8859458886117ac66027832e0f9f5263daec688c439d2d0fa07059334668d39e59543039703dbb7e03ec9da7f8d7'
assert sha512.sum512('This is a sha512 checksum.'.bytes()).hex() == final_result
}
fn test_crypto_sha512_writer() {
mut digest := sha512.new_digest(.sha512)
digest.write('This is a'.bytes()) or { assert false }
digest.write(' sha512 checksum.'.bytes()) or { assert false }
mut sum := digest.checksum()
assert sum.hex() == '4143e55fcba7e39b20f62a1368e5eb28f64a8859458886117ac66027832e0f9f5263daec688c439d2d0fa07059334668d39e59543039703dbb7e03ec9da7f8d7'
// mut sum := digest.checksum()
mut sum := digest.sum([])
assert sum.hex() == final_result
sum = digest.sum([])
assert sum.hex() == '64922a82583d4e364010e574ca5ce6a15686e0d268bd41ac1003dda924356d3552e276b7baedacd85a6884e744943a92d931cebca4738510b4568c5fb5a49723'
sum = digest.sum([])
assert sum.hex() == '64922a82583d4e364010e574ca5ce6a15686e0d268bd41ac1003dda924356d3552e276b7baedacd85a6884e744943a92d931cebca4738510b4568c5fb5a49723'
assert sum.hex() == final_result
}
fn test_crypto_sha512_writer_reset() {
mut digest := sha512.new_digest(.sha512)
digest.write('This is a'.bytes()) or { assert false }
digest.write(' sha512 checksum.'.bytes()) or { assert false }
_ = digest.checksum()
_ = digest.sum([])
digest.reset()
digest.write('This is a'.bytes()) or { assert false }
digest.write(' sha512 checksum.'.bytes()) or { assert false }
sum := digest.checksum()
assert sum.hex() == '4143e55fcba7e39b20f62a1368e5eb28f64a8859458886117ac66027832e0f9f5263daec688c439d2d0fa07059334668d39e59543039703dbb7e03ec9da7f8d7'
sum := digest.sum([])
assert sum.hex() == final_result
}