RC4加解密源码(C语言描述)

本文介绍RC4加解密源码(C语言描述)。

RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4具有加解密速度快,算法简单等优点,在算力不高场合(MCU)也可以使用。

1.源码

1)头文件

头文件(rc4.h)主要包括RC4相关数据结构定义及外部函数声明。头文件定义如下。

#ifndef __RC4_H
#define __RC4_H


#ifdef __cplusplus
 extern "C" {
#endif 


typedef struct _RC4_INFO
{
    uint8_t s[256];
    uint8_t t[256];
}RC4_INFO;     

 
extern void rc4_init(RC4_INFO *RC4Info, const uint8_t *key, uint32_t len);
extern void rc4_crypt(RC4_INFO *RC4Info, const uint8_t *input, uint8_t *output, uint32_t len);    
     

#ifdef __cplusplus
}
#endif



#endif

注意

a)加密过程,需要先调用rc4_init()函数,再调用rc4_crypt()函数,同样,解密过程,也需要先调用rc4_init()函数,再调用rc4_crypt()函数。加解密使用的是同一个密钥。

b)密钥长度可变,一般为8-256 bits,常用128 bits。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值