RC4

头文件

#include "mln_rc.h"

模块名

rc

函数

mln_rc4_init

void mln_rc4_init(mln_u8ptr_t s, mln_u8ptr_t key, mln_uauto_t len);

描述:初始化RC4所需参数skey为密钥内容,len为密钥长度。s必须为长度为256字节长的内存区,且被初始化为0。

返回值:无

mln_rc4_calc

void mln_rc4_calc(mln_u8ptr_t s, mln_u8ptr_t data, mln_uauto_t len);

描述:进行RC4加解密。smln_rc4_init初始化而来的参数。data为被加密或解密的数据,lendata的长度。

加解密的结果会直接写回data中,因此要注意data内存区的可写性。

返回值:无

示例

#include <stdio.h>
#include <stdlib.h>
#include "mln_rc.h"

int main(int argc, char *argv[])
{
    mln_u8_t s[256] = {0};
    mln_u8_t text[] = "Hello";

    mln_rc4_init(s, (mln_u8ptr_t)"this is a key", sizeof("this is a key")-1);
    mln_rc4_calc(s, text, sizeof(text)-1);
    printf("%s\n", text);
    mln_rc4_calc(s, text, sizeof(text)-1);
    printf("%s\n", text);

    return 0;
}

results matching ""

    No results matching ""