C语言实现RC4加解密算法

  • RC4加解密

RC4加解密

#include<stdio.h>/*
RC4初始化函数
*/
void rc4_init(unsigned char* s, unsigned char* key, unsigned long Len_k)
{int i = 0, j = 0;char k[256] = { 0 };unsigned char tmp = 0;for (i = 0; i < 256; i++) {s[i] = i;k[i] = key[i % Len_k];}for (i = 0; i < 256; i++) {j = (j + s[i] + k[i]) % 256;tmp = s[i];s[i] = s[j];s[j] = tmp;}
}/*
RC4加解密函数
unsigned char* Data     加解密的数据
unsigned long Len_D     加解密数据的长度
unsigned char* key      密钥
unsigned long Len_k     密钥长度
*/
void rc4_crypt(unsigned char* Data, unsigned long Len_D, unsigned char* key, unsigned long Len_k) //加解密
{unsigned char s[256];rc4_init(s, key, Len_k);int i = 0, j = 0, t = 0;unsigned long k = 0;unsigned char tmp;for (k = 0; k < Len_D; k++) {i = (i + 1) % 256;j = (j + s[i]) % 256;tmp = s[i];s[i] = s[j];s[j] = tmp;t = (s[i] + s[j]) % 256;Data[k] = Data[k] ^ s[t];}
}
void main()
{//字符串密钥unsigned char key[] = "zstuctf";unsigned long key_len = sizeof(key) - 1;//数组密钥//unsigned char key[] = {};//unsigned long key_len = sizeof(key);//加解密数据unsigned char data[] = { 0x7E, 0x6D, 0x55, 0xC0, 0x0C, 0xF0, 0xB4, 0xC7, 0xDC, 0x45,0xCE, 0x15, 0xD1, 0xB5, 0x1E, 0x11, 0x14, 0xDF, 0x6E, 0x95,0x77, 0x9A, 0x12, 0x99 };//加解密rc4_crypt(data, sizeof(data), key, key_len);for (int i = 0; i < sizeof(data); i++){printf("%c", data[i]);}printf("\n");return;
}
//zstuctf{xXx_team_Is_GooD

C语言实现RC4加解密算法相关推荐

  1. 现代密码学实验2 RC4加/解密算法

    赞赏码 & 联系方式 & 个人闲话 [实验名称]RC4加/解密算法 [实验目的] 1.理解流密码的概念及相关结构: 2.理解并能够编写基本的流密码体制: 3.熟练应用一种编程语言实现R ...

  2. C语言实现DES加解密算法

    C语言实现DES加解密算法 DES加解密 DES加解密 #include <stdio.h> #include <stdlib.h> #include <string.h ...

  3. C语言实现AES加解密算法

    C语言实现AES加解密算法 AES加解密 AES加解密 #include <stdio.h> #include <stdint.h> #include <memory.h ...

  4. C语言实现SM4加解密算法

    C语言实现SM4加解密算法 SM4加解密 SM4加解密 #include <string.h> #include <stdio.h> #include <time.h&g ...

  5. C语言RSA实现对字符串加密,C语言实现RSA加解密算法

    http://www.open-open.com/code/view/1435718537888 2015.071. RSA说明 RSA公钥加密算法是1977年由Ron Rivest.Adi Sham ...

  6. RC4加密解密算法原理及实现对文件的加解密

    本文简单实现了RC4算法对于文件的加解密,并已经验证成功.同时实现了对RC4算法加解密较大文件的测速 RC4加密解密算法的原理: 首先,通过我的理解,RC4算法所依赖的最根本原理是:对明文使用同一个密 ...

  7. java rc4_java实现的RC4加密解密算法示例

    本文实例讲述了java实现的RC4加密解密算法.分享给大家供大家参考,具体如下: 有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个Java 版本的RC4加解密算法. publi ...

  8. C语言实现TEA系列加解密算法

    C语言实现TEA系列加解密算法 TEA加解密 XTEA加解密 XXTEA加解密 TEA加解密 #include <stdio.h> #include <stdint.h>//加 ...

  9. 凯撒加密的python语言程序_python实现凯撒密码、凯撒加解密算法

    凯撒密码的原理:计算并输出偏移量为3的凯撒密码的结果 注意:密文是大写字母,在变换加密之前把明文字母都替换为大写字母 def casar(message): # *************begin* ...

最新文章

  1. 文章 图片 PHP保存,关于文章图片储存
  2. 响应式网站建设优势有哪些?
  3. django_rest_framework之解析器、渲染器
  4. web python pkcs11_使用pkcs11模块用公钥加密数据失败
  5. Asp.net创建伪静态页面
  6. Tomcat、JDK 历史版本下载地址
  7. Java中print、printf、println的区别(转载)
  8. w7 internet信息服务器,Win7安装IIS Internet信息服务步骤
  9. INDEMIND荣登「AI中国」机器之心2021人工智能年度榜单
  10. win10磁盘如何解锁bitlocker,解决分区助手无法调整分区问题
  11. SpringBoot 通过阿里云的短信功能 实现发送手机验证码
  12. bat运行Java程序
  13. 警惕Linux的传销投机属性,恢复建立契约商业化社会秩序。
  14. 计算机二级wps知识点,计算机二级MS office和WPS office如何备考?
  15. 基于多角度SAR的目标三维几何信息提取技术
  16. 【零基础学QT】【052】CLion完美搭建Qt开发环境
  17. CF1385 D. a-Good String (分治+递归)
  18. 专用神经网络处理器的芯片,cpu可以跑神经网络吗
  19. 基于飞浆ERNIE3.0百亿级大模型实现中文短文本分类任务
  20. 常见的几种距离量度(欧式距离、曼哈顿距离、切比雪夫距离等)

热门文章

  1. hph IIS配置问题
  2. java之TreeNode
  3. 微信小程序开发demo10
  4. 2016年“微信之父”张小龙首次公开演讲透露的信息量大
  5. 【solidity智能合约基础】节约gas的利器--view和pure
  6. icomoon字体图标的引入
  7. 【快速上手SpringBoot】盘点盘点入门程序制作的四种方式(有图有代码)
  8. 服务器上biee的rpd存放位置,BIEE入门超级好的文档.docx
  9. 到底怎样刷牙才是正确的?
  10. 真正优秀的质量工程师,都有这些特质