QT实战之OPENSSL实现RC4加解密二

上一篇已经实现了VS2017编译OPENSSL库了,那么我们就可以对数据进行加密了。

先看看效果

本篇利用OPENSSL的RC4加密算法进行了对数据的加解密,代码如下

 

//RC4加密
const char *CCode::Rc4Encode(const char *pstData, const char *pstPass)
{
    int iDataLen = (int)strlen(pstData);
    int iPassLen = (int)strlen(pstPass);
    if ((0 == iDataLen) || (0 == iPassLen))
    {
        return NULL;
    }

    RC4_KEY key;
    RC4_set_key(&key, iPassLen, (unsigned const char *)pstPass);//设置密钥
    unsigned char *pstOut = new unsigned char[iDataLen + 1];

    memset(pstOut, 0, iDataLen + 1);
    RC4(&key, iDataLen, (unsigned const char*)pstData, pstOut);//加密明文
    return (const char *)pstOut;
}

//RC4解密
const char *CCode::Rc4Decode(const char *pstData, const char *pstPass)
{
    int iPassLen = (int)strlen(pstPass);
    int iDatalen = (int)strlen(pstData);
    if ((0 == iDatalen) || (0 == iPassLen))
    {
        return NULL;
    }

    unsigned char *pstOut = new unsigned char[iDatalen + 1];
    memset(pstOut, 0, iDatalen + 1);

    RC4_KEY key;
    RC4_set_key(&key, iPassLen, (unsigned const char*)pstPass);//设置密钥
    RC4(&key, iDatalen, (unsigned const char*)pstData, pstOut);//解密密文
    return (const char *)pstOut;
}

其实OPENSSL的算法是公开的,只是密钥是自己随机生成的,所以我们可以用OPENSSL的算法来进行加解密,其实OPENSSL还有很多加密算法,下一篇来试试AES加密。

工程下载地址:QT中利用OPENSSL的RC4来进行加解密-C++文档类资源-CSDN下载QT写的利用OPENSSL的RC4加解密数据更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/tanging123/85367247

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值