openssl/doc/man3/SM3.pod

77 lines
1.8 KiB
Plaintext

=pod
=head1 NAME
SM3_Init,
SM3_Update,
SM3_Final
=head1 SYNOPSIS
#include <openssl/sm3.h>
unsigned char *SM3(const unsigned char *d, size_t n, unsigned char *md);
int SM3_Init(SM3_CTX *c);
int SM3_Update(SM3_CTX *c, const void *data, size_t len);
int SM3_Final(unsigned char *md, SM3_CTX *c);
=head1 DESCRIPTION
SM3 is a cryptographic hash function with a 256-bit output, defined in GB/T
32905-2016.
SM3() computes the SM3 message digest of the B<n> bytes at B<d> and places it
in B<md> (which must have space for SM3_DIGEST_LENGTH == 32 bytes of output).
If B<md> is NULL, the digest is placed in a static array.
The following functions may be used if the message is not completely stored in
memory:
SM3_Init() initializes a B<SM3_CTX> structure.
SM3_Update() can be called repeatedly with chunks of the message to be hashed
(B<len> bytes at B<data>).
SM3_Final() places the message digest in B<md>, which must have space for
B<SM3_DIGEST_LENGTH> == 32 bytes of output, and erases the B<SM3_CTX>.
=head1 RETURN VALUES
=over 4
=item SM3()
Returns pointers to the hash value.
=item SM3_Init(), SM3_Update(), SM3_Final()
Returns 1 for success, 0 otherwise.
=back
=head1 NOTE
Applications should use the higher level functions such as L<EVP_DigestInit(3)>
instead of calling these functions directly.
=head1 CONFORMING TO
GB/T 32905-2016 and GM/T 0004-2012.
=head1 SEE ALSO
L<EVP_DigestInit(3)>
=head1 COPYRIGHT
Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
Copyright 2017 Ribose Inc. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.
=cut