专栏首页逆向技术python3 实现RC4加解密

python3 实现RC4加解密

Python 实现RC4加解密

核心原理如下:

  • 导入包ARC4 其中Crypto如果没有可以网上搜索安装
  • 主要就是利用ARC4的new(传入key) 返回一个rc4对象
  • rc4对象在调用加密或者解密函数. 注意key必须是 bytes类型.如果不是要转换为bytes
  • 对于base64编码过的程序请先解码.然后再用 代码如下:
import sys
import base64
from Crypto.Cipher import  ARC4

class rc4util():
    def __init__(self,key):
        if isinstance(key,str):
            self.__keyGen = key.encode()
        elif isinstance(key,bytes):
            self.__keyGen = key
    def __encrypt(self,data)->bytes:
        rc4 = ARC4.new( self.__keyGen)
        res = rc4.encrypt(data)
        return res
    def __decrypt(self,data)->bytes:
        rc4 = ARC4.new(self.__keyGen)
        res = rc4.decrypt(data)
        #res = base64.b64encode(res)
        return res
    def EncryptFileToDst(self,src,dst)->bool:
        with open(src,"rb") as f_read:
            data = f_read.read()
            res = self.__decrypt(data)
            with open(dst,"wb") as f_write:
                f_write.write(res)
        return True
def Entry(src,dst):
    key = bytes([0xD8, 0x7e, 0x54, 0x32, 0x61, 0x47, 0x33, 0x55]);
    rc4 = rc4util(key)
    bret = rc4.EncryptFileToDst(src,dst)
    if bret:
        print("加密成功")
    else:
        print("加密失败")
def Decry(src,dst):
    key = bytes([0xD8, 0x7e, 0x54, 0x32, 0x61, 0x47, 0x33, 0x55]);
    rc4 = rc4util(key)
    bret = rc4.EncryptFileToDst(src,dst)
    if bret:
        print("加密成功")
    else:
        print("加密失败")

if __name__ == "__main__":
    src = r"xxxsrcFile"  #这里是读取src文件数据,然后对其进行加密.加密的结果写入到dst文件中
    dst = r"xxxdstFile"
    Entry(src,dst);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3 实现rc4 加密

    超级大猪
  • python实现rc4加密解密,base64输出

    小小咸鱼YwY
  • Python3 加密解密技术详解

    引言 Python 3 的标准库中没多少用来解决加密的,不过却有用于处理哈希的库。 在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyC...

    小小科
  • RC4加密原理,代码解析,逆向小技巧.

    ​ RC4是一种对称加密算法,加密和加密使用同一个函数. 其中关于其历史这里也不多说了.

    IBinary
  • Crypto算法库详解

    Crypto 算法库在 python 中最初叫 pycrypto,这个作者有点懒,好几年没有更新,后来就有大佬写了个替代库 pycryptodome。这个库目前...

    py3study
  • DES加解密实现

    对称加密算法包括DES、AES,其中DES算法的密钥56位(7字节)安全性较弱,于是产生3DES算法,3DES使用3个密钥,加密过程:用秘钥1进行DES加密,秘...

    gaigai
  • 使用Flask在服务器实现一个API接口。

    主要涉及到Python3、MySQL、Flask、Nginx、uwsgi这几个东西。

    小F
  • 对称加密与攻击案例分析

    本文主要介绍常见的对称加密算法和它们的原理,然后分析一些实际存在的密码学攻击案例,包括流加密密钥重用漏洞、ECB块重排攻击以及CBC的Padding Oracl...

    FB客服
  • 服务器如何修复旧加密算法漏洞

    大周末的,收到客户发来的《网络安全隐患告知书》,里面有个主机扫描报告,有个中危漏洞需要修复,客户修复不了,找过来,漏洞如下:

    李俊鹏
  • Python实现密钥密码(加解密)实例详解

    到此这篇关于Python实现密钥密码(加解密)的文章就介绍到这了,更多相关python 密钥密码内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望...

    砸漏
  • [GO]golang实现AES加解密

    AesEncrypt是加密,第二个参数是设置的key,key的长度必须是16、24、32

    陶士涵
  • 搭建jupyter+nginx服务

    Tips:该文章面向Mac和centos用户,如果是Windows用户,请先安装虚拟机。

    阿dai学长
  • python https实现方法

    2、上传证书文件到项目根目录,我这里使用的是公网证书文件,也可以自己手动生产自签名证书,网上有很多示例,就不列举了。

    py3study
  • 内网渗透 | 利用拷贝卷影提取ntds.dit

    通常情况下,即使拥有管理员权限,也无法读取域控制器中的C:\Windows\NTDS\ntds.dit文件。那么什么是ntds.dit呢?

    HACK学习
  • RC4 with Python

    """ RC4加密算法 16*16 S盒 加密单元:short """ def RC4(pkey,keylen,pin,dlen): ...

    py3study
  • iOS RC4加密

    iOS RC4加密的实现,要注意加密后生成字符串的步骤,有些要求是base64加密后输出,有些要求是字节数组转16进制字符串输出,所以要特别注意。

    莫空9081
  • Golang语言情怀-第65期 Go 语言标准库翻译 crypto/rc4

    Cipher是一个使用特定密钥的RC4实例,本类型实现了cipher.Stream接口。

    李海彬
  • Java实现AES加密与解密(秘钥)

    发布者:全栈程序员栈长,转转请注明出处:https://javaforall.cn/100046.html原文链接:

    全栈程序员站长
  • 如何基于python3和Vue实现AES数据加密

    高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也...

    砸漏

扫码关注云+社区

领取腾讯云代金券