A. 用python3.4进行各种加密算法的例子

这是一个MD5加密的函数例子,仅供参考

importhashlib
defmd5(s):
m=hashlib.md5()
m.update(s.encode(encoding="utf-8"))
returnm.hexdigest()
print(md5('1'))

B. Python如何对Word加密

你可以先保存为path2,然后删除path1,最后把path2的名字改成path1的名字

C. python写的程序能加密吗

你可以安装pyinstaller,编译成可执行文件,大小会比原文件大。其他方法也有。但是pyinstaller简单一点.

用法:先安装pyinstaller。按照python版本安装:
pip install pyinstaller

安装好之后:pyinstaller -F python文件。
编译好了文件在./dist/下,直接用就行

D. 怎么样给python文件加密

简单模式:
from hashlib import md5
def md5_file(name):
m = md5()
a_file = open(name, 'rb') #需要使用二进制格式读取文件内容
m.update(a_file.read())
a_file.close()
return m.hexdigest()
if __main__ == '__init__':
print md5_file('d:/test.txt')
大文件速度更快一点的方式
#!/usr/bin/python
#encoding=utf-8
import io
import sys
import hashlib
import string
def printUsage():
print ('''''Usage: [python] pymd5sum.py ''')
def main():
if(sys.argv.__len__()==2):
#print(sys.argv[1])
m = hashlib.md5()
file = io.FileIO(sys.argv[1],'r')
bytes = file.read(1024)
while(bytes != b''):
m.update(bytes)
bytes = file.read(1024)
file.close()
#md5value = ""
md5value = m.hexdigest()
print(md5value+"\t"+sys.argv[1])
#dest = io.FileIO(sys.argv[1]+".CHECKSUM.md5",'w')
#dest.write(md5value)
#dest.close()
else:
printUsage()
main()

E. python中如何设计一个密码加密器


你好,我自己设计了一个小小的加密器玩。你可以参考一下。这是带有界面的。

其中的算法你可以改掉。我是用来把密码转化一下并且复制到粘贴板来使用。希望对你有帮助!


importstring


#-*-coding:utf-8-*-


importwx


fromtimeimport*


fromxlutils.import


importwin32clipboardasw


importwin32con


classMyApp(wx.App):


defOnInit(self):


self.frame=MyFrame(None,title='encryption')


self.SetTopWindow(self.frame)


self.frame.register_close_callback(lambda:True)


self.frame.Show()


returnTrue


classMyFrame(wx.Frame):


def__init__(self,parent,id=wx.ID_ANY,title="",


pos=(700,480),size=(180,100),


style=wx.DEFAULT_FRAME_STYLE^wx.RESIZE_BORDER^wx.MAXIMIZE_BOX


|wx.STAY_ON_TOP|wx.FRAME_TOOL_WINDOW|wx.SIMPLE_BORDER,


name="MyFrame"):


bcolor=(0,0,0)


fcolor=(210,210,210)


super(MyFrame,self).__init__(parent,id,title,


pos,size,style,name)


self.panel=wx.Panel(self)


self.panel.SetBackgroundColour(bcolor)


self.panel.SetForegroundColour(fcolor)


self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)


self.SetTransparent(251)


self.Bind(wx.EVT_CLOSE,self.onClose)


fontbutton=wx.Font(10,wx.ROMAN,wx.NORMAL,wx.BOLD)


self.ValueLabel1=wx.StaticText(self.panel,-1,"superstar:",pos=(3,10))


self.ValueLabel1.SetFont(fontbutton)


self.Value1=wx.TextCtrl(self.panel,-1,"",pos=(65,10),


size=(106,-1),style=wx.TE_PASSWORD)


self.Value1.SetBackgroundColour(bcolor)


self.Value1.SetForegroundColour(fcolor)


self.Value1.SetInsertionPoint(11)


self.Bind(wx.EVT_TEXT_ENTER,self.Value1Enter,self.Value1)


confirm=wx.Button(self.panel,label='Confirm',pos=(3,40),size=(82,-1),style=wx.BU_AUTODRAW)


confirm.SetFont(fontbutton)


confirm.SetBackgroundColour(bcolor)


confirm.SetForegroundColour(fcolor)


self.Bind(wx.EVT_BUTTON,self.confirmButton,confirm)


clear=wx.Button(self.panel,label='Clear',pos=(90,40),size=(82,-1),style=wx.BU_AUTODRAW)


clear.SetFont(fontbutton)


clear.SetBackgroundColour(bcolor)


clear.SetForegroundColour(fcolor)


self.Bind(wx.EVT_BUTTON,self.clearButton,clear)


defclearButton(self,event):


self.Value1.SetValue('')


w.OpenClipboard()


w.EmptyClipboard()


w.CloseClipboard()


defOnKeyDown(self,event):


keycode=event.GetKeyCode()


ifkeycode==wx.WXK_UP:


print'yes'


defValue1Enter(self,event):


self.getvalue1=self.Value1.GetValue()


defconfirmButton(self,event):


self.getvalue1=self.encrypt(self.Value1.GetValue())


self.ToClip(self.getvalue1)


defToClip(self,data):


w.OpenClipboard()


w.EmptyClipboard()


w.SetClipboardData(win32con.CF_TEXT,data)


w.CloseClipboard()


defregister_close_callback(self,callback):


self.__close_callback=callback


defencrypt(self,s):


lis=''


ss=string.letters+string.digits


foriinxrange(len(s)):


pos=ss.find(s[i])


num=pos**(i%4+len(s))


lis+=ss[num/100%62]+ss[num%100%62]


returnlis


defonClose(self,event):


self.Destroy()


w.OpenClipboard()


w.EmptyClipboard()


w.CloseClipboard()


if__name__=='__main__':


app=MyApp(False)


app.MainLoop()

F. 怎样对 Python 源码加密

代码加密
大概整理了以下几种方法:
编译成pyc文件
使用py2exe将python代码转成window下执行的exe文件
关键代码部分使用c或者c++写,然后在python中调用
用C写一个license,进行license验证
作为一门解释型的语言,加密的难度超级大。下面来简单分析上面的解决方案:
编译成pyc文件几乎跟pyc没有区别,保护力度太低
要是在linux机器上就没法使用,而且这种exe文件也可以被破解的
核心代码部分是计算密集型,用的是pandas,numpy等库,用c重写,简直不可能,工作量太大。
没搞过,不知道………
看来上面的解决方案都是不行的,在stackoverflow上对这个问题也进行了详细的讨论,用我蹩脚的英文来翻译(意译)一下得票率最高的:
“有什么方法来解决这个问题吗?(加密的问题)”没有。任何保护都可以被逆向工程破解。就连DVD机的固件都可以被破解,尽管法律判定其为非法,但是AACS加密密钥还是泄露出来。
因为没有技术的方法可以阻止你的客户看你的代码,你必须用传统的商业方法。
1. 许可证,合约,条款,条件。只要用户签订了这些东西,及时用户可以看见代码,也会有法律约束(不过此建议在中国目前貌似不顶用)
2. 提供巨大的价值。如果你的东西非常好,而且价格很合理,那么用户很难拒绝——没必要浪费时间和金钱去搞逆向工程啥的,因为逆向工程是很费银子的。让你的产品有足够的性价比。
3. 经常性的升级和增加新的功能,使得逆向工程不那么好使。当下一个版本破坏了逆向工程,那么以前的破解就没有意义了。
4. 定制化生产,为不同的客户提供不同的产品。(貌似代价有点高啊)
5. 使用有时间限制的许可证,这会给你带来不好的名声,但是会保证你的软件会停止工作
6. 设计为web service.
代码混淆
既然加密不是一个好方法,那要还是不死心,那就做一个简单的混淆算了,虽然只能”防君子,不防小人“。但是不能就这样把代码暴露出来。
这里推荐一个找了好久的东西: pyobfuscate这个东西在window7中的cmd中貌似总是混淆失败,无奈用了MINGW32,居然搞定了。官方的资料有这样的介绍:
pyobfuscate有几种转化代码的方式,有些可逆,有些不可逆。
移除注释和文档 ( 不可逆)
改变缩进(可逆)
在tokens之间加入空格(一定程度上可逆)
重命名函数,类,和变量(不可逆)
在空白行中加入无效的代码
我没有选择混淆函数名和类名,因为其他地方还要调用呢。下面是我混淆的结果,还挺好看的:
def my_fuction_to_test ( self , start_date , end_date ) :
iiiii11iII1 = self . get_something ( start_date , end_date )
O0o = [ ]
for oO0 in iiiii11iII1 :
if oO0 [ "isOpen" ] == 1 :
IIIi1i1I = { }
OOoOoo00oo = dt . strptime ( oO0 [ 'calendarDate' ] , '%Y-%m-%d' )
IIIi1i1I [ 'day' ] = OOoOoo00oo . strftime ( '%Y%m%d' )
IIIi1i1I [ 'week' ] = oO0 [ 'isWeekEnd' ]
IIIi1i1I [ 'month' ] = oO0 [ 'isMonthEnd' ]
IIIi1i1I [ 'weekday' ] = OOoOoo00oo . weekday ( )
O0o . append ( IIIi1i1I )
iiI11 = pd . DataFrame ( O0o )
return iiI11

G. Python怎么实现对字符串的加密解密

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_out.append(chr(ord(...

H. Python怎么对用户密码进行MD5加密,或者是单向加密

importmd5
name='test'
password='123'
m1=md5.new()
m1.update('%s%s'%(name,password))
printm1.hexdigest()

I. jmu-python-凯撒密码加密算法,谢谢

def encryption():
str_raw = input("请输入明文:")
k = int(input("请输入位移值:"))
str_change = str_raw.lower()
str_list = list(str_change)
str_list_encry = str_list
i = 0
while i < len(str_list):
if ord(str_list[i]) < 123-k:
str_list_encry[i] = chr(ord(str_list[i]) + k)
else:

print ("解密结果为:"+"".join(str_list_decry))
while True:
print (u"1. 加密")
print(u"2. 解密")
choice = input("请选择:")
if choice == "1": encryption()
elif choice == "2": decryption()
else: print (u"您的输入有误!")

J. Python中的如何给一个字符串加密

import rsa rsaPublickey = int(pubkey, 16) key = rsa.PublicKey(rsaPublickey, 65537) #创建公钥复 message = str(servertime) + '\t' + str(nonce) + '\n' + str(password) #拼接明制文js加密文件中得到 passwd = rsa.encrypt(message, key) #加密 passwd = binascii.b2a_hex(passwd) #将加密信息转换为16进制。 return passwd