本篇文章给大家分享的是有关如何在python项目中利用cython进行加密,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十载时间我们累计服务了上千家以及全国政企客户,如成都工商代办等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称扬。具体方法如下:
#coding=utf-8 import getopt import os, sys import zipfile from Crypto.Cipher import AES import random, struct #加密python3的代码 def transfer3(dir_pref): os.system('cython -2 %s.py;' 'gcc -c -fPIC -I/usr/include/python3.5/ %s.c -o %s.o' % (dir_pref, dir_pref, dir_pref)) os.system('gcc -shared %s.o -o %s.so' % (dir_pref, dir_pref)) if clear: os.system('rm -f %s.c %s.o %s.py' % (dir_pref, dir_pref, dir_pref)) else: os.system('rm -f %s.c %s.o' % (dir_pref, dir_pref)) #加密python2的代码 def transfer2(dir_pref): os.system('cython -2 %s.py;' 'gcc -c -fPIC -I/usr/include/python2.7/ %s.c -o %s.o' % (dir_pref, dir_pref, dir_pref)) os.system('gcc -shared %s.o -o %s.so' % (dir_pref, dir_pref)) if clear: os.system('rm -f %s.c %s.o %s.py' % (dir_pref, dir_pref, dir_pref)) else: os.system('rm -f %s.c %s.o' % (dir_pref, dir_pref)) #加密AI模型 def encrypt_file(in_filename, out_filename=None, chunksize=64*1024): """ 使用AES(CBC模式)加密文件给定的密钥。 :param key: 加密密钥-必须是16、24或32字节长。长按键更安全。 :param in_filename: 输入的文件的名称 :param out_filename: 如果为None,将使用“.enc”。 :param chunksize: 设置函数用于读取和加密文件。大块一些文件和机器的大小可能更快。块大小必须可被16整除。 :return: None """ if not out_filename: out_filename = in_filename + '.enc' salt = '' # 盐值 key = "{: <32}".format(salt).encode("utf-8") #iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16)) #encryptor = AES.new(key, AES.MODE_CBC, iv) iv = b'0000000000000000' encryptor = AES.new(key, AES.MODE_CBC, iv) filesize = os.path.getsize(in_filename) with open(in_filename, 'rb') as infile: with open(out_filename, 'wb') as outfile: outfile.write(struct.pack(' 以上就是如何在python项目中利用cython进行加密,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
网站栏目:如何在python项目中利用cython进行加密-创新互联
本文链接:http://cxhlcq.com/article/dgejgc.html