• 【Python】python文件或文本加密(4种方法)


    Date: 2018.6.17 端午


    1、参考

    https://my.oschina.net/wizardpisces/blog/107445
    https://www.cnblogs.com/kaituorensheng/p/4501128.html
    http://help.sense.com.cn/?p=165
    http://www.cnblogs.com/haq5201314/p/8437201.html

    2、python下编译py成pyc和pyo (文件加密)

    将python文件.py编译成pyc二进制文件:

    python -m py_file.py

    或者通过脚本运行:

    import py_compile  ##单个文件编译
    import compileall   ##多个文件编译 
    py_compile.compile('path') ##path是包括.py文件名的路径

    将python文件编译成pyo二进制文件:

    python -O -m py_file.py

    什么是pyc文件?

    pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念

    注意事项:pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。

    什么是pyo文件?

    pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件

    什么是pyd文件?

    pyd是python的动态链接库。

    3、将Python文件转成exe封装(文件加密)

    参考:https://blog.csdn.net/SoaringLee_fighting/article/details/78892876

    4、采用hashlib或pycrypto模块进行文本加密

    hashlib模块:

    import hashlib
    sha1 = hashlib.sha1('文本内容')  #加密
    osv=sha1.hexdigest() 
    print(osv)
    bx=bytes(osv,encoding='utf-8')    #转换类型
    with open('1.txt','wb') as f: #以二进制写类型打开
        f.write(bx)   #写入文件
    get_sha1('')

    pycrypto模块:

    from Crypto.Cipher import AES
    obj = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
    message = "The answer is no"
    ciphertext = obj.encrypt(message)
    >>> ciphertext
    'xd6x83x8dd!VTx92xaa`Ax05xe0x9bx8bxf1'
    >>> obj2 = AES.new('This is a key123', AES.MODE_CBC, 'This is an IV456')
    >>> obj2.decrypt(ciphertext)
    'The answer is no'
  • 相关阅读:
    java获取文件夹下所有目录
    java下载zip文件
    oracle 递归查询数据
    easyUi刷新 tabs
    jsp引入本地图片
    zabbix web监测设置
    jenkins部署
    ss 异常活动端口查询-std
    logrotate 日志分割
    rsync删除大量小文件
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532446.html
Copyright © 2020-2023  润新知