`
izuoyan
  • 浏览: 9220633 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OpenSSL之RC4加解密

 
阅读更多

在项目中使用了RC4解密,为了解密我生成了和加密端一样的key,但是解密时老是不成功,直接使用简单的代码进行测试就成功了。细查原因,项目中的加解密调用不对称,加密方在生成key之后使用key做了一次加密测试,而解密方没有,查阅资料得:RC4 为流方式加密,加密解密需要同步。也就是说,用相同的密码将key1和key2初始化后,用key1加密一个分组,用key2解密这个分组。用key1加密的第i个分组,只能用key2的第i次来解密。而我的代码相当于用第i步加密,而用第i+1步解密,因此解不出明文,所以不能得到正确的明文,问题解决之。

并且加密和解密处理的字节数要相同,否则会导致解密失败。

附RC4介绍http://baike.baidu.com/view/904005.htm?fr=ala0,说实话,这介绍我看不懂。

分享到:
评论

相关推荐

    openssl rc4 java 实现

    "openssl rc4 java 实现" 这个标题表明我们将讨论如何在Java环境中实现OpenSSL库中的RC4加密算法。RC4是一种流密码算法,由Ron Rivest在1987年设计,因其高效和简单而被广泛使用。OpenSSL是一个开源的加密库,它包含...

    OpenSSL加密解密库

    1. 加密算法:OpenSSL支持多种加密算法,如AES(高级加密标准)、DES(数据加密标准)、3DES(三重DES)、Blowfish、RC4等,这些算法在网络安全中广泛用于数据保护。 2. 公钥基础设施(PKI):OpenSSL提供了RSA、...

    使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子

    OpenSSL提供了libcrypto库,其中包含AES加密和解密的接口,如`AES_encrypt`和`AES_decrypt`,可以用于对文件进行加解密操作。 接下来是RC4,这是一种流密码。它的特点是速度快,但相比AES,安全性较低。在OpenSSL中...

    基于Python OpenSSL的签发证书和实现rc4加解密运算实现【100012554】

    本项目主要涵盖了Python与OpenSSL在安全通信中的应用,特别是RC4加密算法和证书签发的相关知识。下面将详细阐述这些概念及其实施。 首先,RC4是一种流式加密算法,由Ron Rivest于1987年设计。它的全称是“Rivest ...

    C语言和易语言实现RC4加解密

    在易语言中实现RC4,会有一些不同于C语言的语法和结构,但基本原理相同,也是通过KSA和PRG两个阶段来完成加解密。 在"易语言RC4加密解密源码.e"中,你可能会看到易语言特有的语句和函数,如“.整数”表示整型变量,...

    QT中利用OPENSSL的RC4来进行加解密

    本文将深入探讨如何在QT环境中使用OPENSSL库中的RC4算法进行加解密操作。 首先,QT是一个跨平台的C++应用程序开发框架,广泛应用于桌面、移动以及嵌入式系统。它提供了丰富的功能,包括图形用户界面、网络编程、...

    PHP与本地数据加解密通迅(RC4)

    下面将详细介绍PHP与本地数据加解密通讯中RC4的应用。 **RC4算法概述** RC4(Rivest Cipher 4)是由Ron Rivest于1987年设计的一种对称密钥加密算法。它速度快、易于实现,但安全性相对较弱,因此适合对性能要求高而...

    openssl加密实例程序

    总结来说,这个`openssl加密实例程序`提供了一个基于`openssl`和`rc4`算法的加密工具,对于学习`openssl`的使用以及理解`rc4`加密原理具有实践价值。然而,随着密码学的发展,使用更安全的算法如AES(高级加密标准)...

    js,php加解密

    以下是一个使用 `openssl` 进行 RC4 加解密的 PHP 示例: ```php function rc4_encrypt($data, $key) { $td = openssl_cipher_iv_length('aes-128-cbc'); $iv = openssl_random_pseudo_bytes($td); $encrypted ...

    rc4实验报告,含代码。有各个模块的流程图

    代码示例中,RC4算法的实现涉及到对单个字节的处理,中文字符的异或加密,以及使用OpenSSL库进行加密操作。OpenSSL是一个强大的安全库,提供各种加密算法的实现,包括RC4。 ### 遇到的问题及解决方法 在实际编码...

    易语言-易语言与PHP的RC4互相加密解密

    在易语言中实现RC4加密解密,我们需要定义相关函数。易语言提供了丰富的内部命令支持,可以方便地进行字节操作。首先,我们需要编写一个函数来初始化RC4的密钥,然后使用PRGA算法生成密文或明文。易语言代码可能如下...

    win32 openssl 库文件和头文件,编译完成的

    例如,`<openssl/ssl.h>` 头文件提供了 SSL/TLS 协议的接口,`<openssl/aes.h>` 和 `<openssl/rc4.h>` 则分别包含了 AES 和 RC4 加解密算法的函数声明。 在 CSDN 中提到的 AES 和 RC4 加解密的使用例子,这表明...

    openssl 1.0.2p源码

    1. 加密算法:OpenSSL 支持多种加密算法,如 AES(高级加密标准)、DES(数据加密标准)、3DES(三重DES)、Blowfish、RC4 等。这些算法用于加密和解密数据,防止未经授权的访问。 2. 密钥管理:OpenSSL 支持密钥的...

    OpenSSL使用指南.pdf

    常见的对称加密算法有 DES、AES、RC4 等。对称加密的主要问题是密钥的分配和管理。 非对称加密 非对称加密算法使用不同的密钥进行加密和解密。常见的非对称加密算法有 RSA、ElGamal 等。非对称加密的主要问题是密钥...

    300种加解密算法

    加解密算法是信息安全领域的重要组成部分,用于保护数据的隐私性和完整性。在计算机科学中,加密是一种将可读信息(明文)转化为不可读形式(密文)的技术,而解密则是相反的过程,将密文恢复为原始的明文。在给定的...

    openssl编程

    书中第一章介绍了基础知识,包括对称算法的原理和使用,例如如何设置密钥并进行加解密;摘要算法的工作方式及其在哈希和消息认证码(MAC)中的应用;公钥算法的理论基础,如公钥和私钥的生成、加密和解密的过程;...

    计算机加密解密200例.pdf 高清扫描版

    8. 加解密工具和库:在实际工作中,开发人员通常会使用各种加密库和工具来简化加密解密过程,例如OpenSSL、GnuPG、Crypto++、.NET Framework Cryptography等。 9. 加密协议:如SSL/TLS协议为网络通信提供加密保护,...

    openssl-1.0.0a

     OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式...

    编译好的OPENSSL库

    4. **命令行工具**:OpenSSL附带了一系列的命令行工具,如`openssl s_client`、`openssl s_server`、`openssl genrsa`、`openssl req`等,方便开发者进行证书生成、加密解密操作等。 **使用编译好的库文件** ...

Global site tag (gtag.js) - Google Analytics