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所需参数s。key为密钥内容,len为密钥长度。s必须为长度为256字节长的内存区,且被初始化为0。
返回值:无
mln_rc4_calc
void mln_rc4_calc(mln_u8ptr_t s, mln_u8ptr_t data, mln_uauto_t len);
描述:进行RC4加解密。s为mln_rc4_init初始化而来的参数。data为被加密或解密的数据,len为data的长度。
加解密的结果会直接写回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;
}