python通过cython加密代码
#coding=utf-8 importgetopt importos,sys importzipfile fromCrypto.CipherimportAES importrandom,struct #加密python3的代码 deftransfer3(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)) ifclear: 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的代码 deftransfer2(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)) ifclear: 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模型 defencrypt_file(in_filename,out_filename=None,chunksize=64*1024): """ 使用AES(CBC模式)加密文件给定的密钥。 :paramkey:加密密钥-必须是16、24或32字节长。长按键更安全。 :paramin_filename:输入的文件的名称 :paramout_filename:如果为None,将使用“.enc”。 :paramchunksize:设置函数用于读取和加密文件。大块一些文件和机器的大小可能更快。块大小必须可被16整除。 :return:None """ ifnotout_filename: out_filename=in_filename+'.enc' salt='' #盐值 key="{:<32}".format(salt).encode("utf-8") #iv=''.join(chr(random.randint(0,0xFF))foriinrange(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) withopen(in_filename,'rb')asinfile: withopen(out_filename,'wb')asoutfile: outfile.write(struct.pack(' 以上就是python通过cython加密代码的详细内容,更多关于pythoncpython加密的资料请关注毛票票其它相关文章!