#coding=utf-8
def encode_key_text(key,text):
alp='abcdefghijklmnopqrstuvwxyz0123456789 '
num_key=[alpfind(i) for i in key]
num_text=[alpfind(i) for i in text]
if len(num_key)<len(num_text):
num_long,num_short=num_text,num_key
else:
num_long,num_short=num_key,num_text
num_encode = [(num_short[i%len(num_short)]+num_long[i])%(len(alp)) for i in xrange(len(num_long))]
print num_encode
return ''join([alp[i] for i in num_encode])
if __name__=="__main__":
key='lemon'
text='attack at dawn'
print encode_key_text(key,text)
当练手了,感兴趣可以关注我的python课程
加密有很多种加密方式,常用的加密是md5加密,给你写个例子
import hashlib
def md5(str):
m = hashlibmd5()
mupdate(strencode("utf8"))
print(mhexdigest())
return mhexdigest()
def md5GBK(str1):
m = hashlibmd5(str1encode(encoding='gb2312'))
print(mhexdigest())
return mhexdigest()
md5('hello')
md5GBK('你好')
编译单个文件
python -m py_compile codepy
编译整个目录
python -m compileall /
缺点:可以被反编译
编写setuppy文件
执行命令
pip install cython
python setuppy build_ext --inplace
其实加密很简单的,修改Python虚拟机的代码,针对编译出pyc的部分修改下虚拟码,或者对调几个别人死都解不出来的 缺点也很显而易见,执行时必须使用自己的修改的Python虚拟机
对 Python 加密时可能会有两种形式,一种是对Python转成的exe进行保护,另一种是直接对py或者pyc文件进行保护,下面将列举两种形式的保护流程。
1、 对 python转exe加壳
下载最新版Virbox Protector加壳工具,使用加壳工具直接对demoexe进行加壳 *** 作
2、对py/pyc加密
第一步,使用加壳工具对 python 安装目录下的 pythonexe 进行加壳,将 pythonexe 拖入到加壳工具 VirboxProtector 中,配置后直接点击加壳。
第二步,对py/pyc 进行加密,使用 DSProtector 对py/pyc 进行保护。
from random import seed,randint
str_in=input('请输入一个字符串:')
you_seed=input('请输入密码:')
you_seed=int(you_seed)
#lock
def my_lock(lock_str,lock_seed):
seed(lock_seed)
li_out=[]
for i in lock_str:
li_outappend(chr(ord(i)^randint(0,65535)))
return ''join(li_out)
my_lock_str=my_lock(str_in,you_seed)
print('原字符串:',str_in)
print('加密字符串:',my_lock_str)
print('还原后字符串:',my_lock(my_lock_str,you_seed))
input()
#python 34
以上就是关于Python 加密程序全部的内容,包括:Python 加密程序、如何在python加密自己的密码、python文件加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)