SHA

头文件

#include "mln_sha.h"

模块名

sha

函数

mln_sha1_init

void mln_sha1_init(mln_sha1_t *s);

描述:初始化mln_sha1_t类型结构s

返回值:无

mln_sha1_new

mln_sha1_t *mln_sha1_new(void);

描述:创建并初始化mln_sha1_t类型结构,该结构由malloc分配而来。

返回值:成功返回mln_sha1_t类型指针,否则返回NULL

mln_sha1_pool_new

mln_sha1_t *mln_sha1_pool_new(mln_alloc_t *pool);

描述:创建并初始化mln_sha1_t类型结构,该结构由pool指定的内存池分配而来。

返回值:成功返回mln_sha1_t类型指针,否则返回NULL

mln_sha1_free

void mln_sha1_free(mln_sha1_t *s);

描述:释放mln_sha1_t类型结构s的内存,该参数应由mln_sha1_new分配而来。

返回值:无

mln_sha1_pool_free

void mln_sha1_pool_free(mln_sha1_t *s);

描述:释放mln_sha1_t类型结构s的内存,该参数应由mln_sha1_pool_new分配而来。

返回值:无

mln_sha1_calc

void mln_sha1_calc(mln_sha1_t *s, mln_u8ptr_t input, mln_uauto_t len, mln_u32_t is_last);

描述:计算inputlen所指定数据的SHA1值。本函数与MD5函数一样,支持对较大数据分批计算,最终得到一个SHA1值,is_last用于表明是否是本块数据的最后一批次。计算后的结果存在s中。

返回值:无

mln_sha1_tobytes

void mln_sha1_tobytes(mln_sha1_t *s, mln_u8ptr_t buf, mln_u32_t len);

描述:将SHA1计算的二进制结果写入到buflen指定的内存中。

返回值:无

mln_sha1_tostring

void mln_sha1_tostring(mln_sha1_t *s, mln_s8ptr_t buf, mln_u32_t len);

描述:将SHA1计算的字符串结果写入到buflen指定的内存中。

返回值:无

mln_sha1_dump

void mln_sha1_dump(mln_sha1_t *s);

描述:将mln_sha1_t结构信息输出到标准输出上,仅用于调试。

返回值:无

mln_sha256_init

 void mln_sha256_init(mln_sha256_t *s);

描述:初始化mln_sha256_t类型结构s

返回值:无

mln_sha256_new

mln_sha256_t *mln_sha256_new(void);

描述:创建并初始化mln_sha256_t类型结构,该结构由malloc分配而来。

返回值:成功返回mln_sha256_t类型指针,否则返回NULL

mln_sha256_pool_new

mln_sha256_t *mln_sha256_pool_new(mln_alloc_t *pool);

描述:创建并初始化mln_sha256_t类型结构,该结构由pool指定的内存池分配而来。

返回值:成功返回mln_sha256_t类型指针,否则返回NULL

mln_sha256_free

void mln_sha256_free(mln_sha256_t *s);

描述:释放mln_sha256_t类型结构s的内存,该参数应由mln_sha256_new分配而来。

返回值:无

mln_sha256_pool_free

void mln_sha256_pool_free(mln_sha256_t *s);

描述:释放mln_sha256_t类型结构s的内存,该参数应由mln_sha256_pool_new分配而来。

返回值:无

mln_sha256_calc

void mln_sha256_calc(mln_sha256_t *s, mln_u8ptr_t input, mln_uauto_t len, mln_u32_t is_last);

描述:计算inputlen所指定数据的SHA1值。本函数与MD5函数一样,支持对较大数据分批计算,最终得到一个SHA256值,is_last用于表明是否是本块数据的最后一批次。计算后的结果存在s中。

返回值:无

mln_sha256_tobytes

 void mln_sha256_tobytes(mln_sha256_t *s, mln_u8ptr_t buf, mln_u32_t len);

描述:将SHA256计算的二进制结果写入到buflen指定的内存中。

返回值:无

mln_sha256_tostring

void mln_sha256_tostring(mln_sha256_t *s, mln_s8ptr_t buf, mln_u32_t len);

描述:将SHA256计算的字符串结果写入到buflen指定的内存中。

返回值:无

mln_sha256_dump

void mln_sha256_dump(mln_sha256_t *s);

描述:将mln_sha256_t结构信息输出到标准输出上,仅用于调试。

返回值:无

示例

#include <stdio.h>
#include "mln_sha.h"

int main(int argc, char *argv[])
{
    mln_sha256_t s;
    char text[1024] = {0};

    mln_sha256_init(&s);
    mln_sha256_calc(&s, (mln_u8ptr_t)"Hello", sizeof("Hello")-1, 1);
    mln_sha256_tostring(&s, text, sizeof(text)-1);
    printf("%s\n", text);

    return 0;
}

results matching ""

    No results matching ""