python加密狗(python中如何设计一个密码加密器)

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

你好,我自己设计了一个小小的加密器玩。

你可以参考一下。这是带有界面的。

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

希望对你有帮助!import string# -*- coding: utf-8 -*- import wx from time import * from xlutils.copy import copy import win32clipboard as w import win32con class MyApp(wx.App): def OnInit(self): self.frame = MyFrame(None, title='encryption') self.SetTopWindow(self.frame) self.frame.register_close_callback(lambda: True) self.frame.Show() return True class MyFrame(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) def clearButton(self,event): self.Value1.SetValue('') w.OpenClipboard() w.EmptyClipboard() w.CloseClipboard() def OnKeyDown(self,event): keycode = event.GetKeyCode() if keycode == wx.WXK_UP: print 'yes' def Value1Enter(self, event): self.getvalue1=self.Value1.GetValue() def confirmButton(self,event): self.getvalue1=self.encrypt(self.Value1.GetValue()) self.copyToClip(self.getvalue1) def copyToClip(self,data): w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_TEXT, data) w.CloseClipboard() def register_close_callback(self, callback): self.__close_callback = callback def encrypt(self,s): lis='' ss=string.letters+string.digits for i in xrange(len(s)): pos=ss.find(s[i]) num=pos**(i%4+len(s)) lis+=ss[num/100%62]+ss[num%100%62] return lis def onClose(self, event): self.Destroy() w.OpenClipboard() w.EmptyClipboard() w.CloseClipboard() if __name__ == '__main__': app=MyApp(False) app.MainLoop()。

2.Python有什么模块来加密

对 Python 加密时可能会有两种形式,一种是对Python转成的exe进行保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程。

1、对 python转exe加壳 下载最新版Virbox Protector加壳工具,使用加壳工具直接对demo.exe进行加壳操作 2、对.py/.pyc加密 第一步,使用加壳工具对 python 安装目录下的 python.exe 进行加壳,将 python.exe 拖入到加壳工具 VirboxProtector 中,配置后直接点击加壳。 第二步,对.py/.pyc 进行加密,使用 DSProtector 对.py/.pyc 进行保护。

安全技术: l 虚拟机外壳:精锐5的外壳保护工具,创新性的引入了预分析和自动优化引擎,有效的解决了虚拟化保护代码时的安全性和性能平衡问题。 l 碎片代码执行:利用自身成熟的外壳中的代码提取技术,抽取大量、大段代码,加密混淆后在安全环境中执行,最大程度上减少加密锁底层技术和功能的依赖,同时大量大段地移植又保证了更高的安全性。

l Virbox加密编译引擎:集编译、混淆等安全功能于一身,由于在编译阶段介入,可优化空间是普遍虚拟化技术无法比拟的,对代码、变量的混淆程度也有了根本的提升。 l 反黑引擎:内置R0级核心态反黑引擎,基于黑客行为特征 的(反黑数据库)反制手段。

精准打击调试、注入、内存修改等黑客行为,由被动挨打到主动防护。 加密效果: 加密之前 以pyinstall 的打包方式为例,使用pyinstxtractor.py文件对log_322.exe进行反编译,执行后会生成log_322.exe_extracted文件夹,文件夹内会生成pyc文件。

成功之后会在同目录下生成一个文件夹 使用010 Editor添加几个字节,重命名为pyc文件 注【此处和python的版本有关,Python27的可以直接解压为pyc文件,Python34还需要添加几个字节】 然后使用EasyPython Decompiler 工具反编译pyc 成功之后通目录下会生成dis文件,生成出的dis文件可以用文本编辑器打开,看到源码 反编译后的log_322.exe的源码 加密之后: 【注:不同的打包方式原理不同,源码存放的位置也不同,所以需要保护的具体模块也是不同的】 加密之后再尝试解压log322.exe失败,已经无法进行反编译,使用常规反编译工具也是无法进行分析的。

加密狗,python

3.用python加密的可以用java解密吗

服务器端使用python开发,生成一组1024bit的公钥和私钥。

通过pileall; compileall.

compile_dir('目录')"

该命令可以为一个目录下的py文件生成pyc文件(包含子目录)在windows平台上的路径书写方式为

('C:/python26/pyc')

下面符一完整命令: 将目录'C:/python26/pyc'下的所有PY文件 转为PYC文件

?[Copy to clipboard]Download test.py1

python -c "import compileall; compileall.

compile_dir('C:/python26/pyc')"

5.Python 中的“lambda”是什么意思

lambda就是匿名函数,就是没有名字的函数,来自于于函数式编程的概念; java7也是加这个,

举个例子

函数如下:

def f(x):

return x+1

print f(4)

用lambda的话,写成这样:

g = lambda x : x+1

print g(4)

延展阅读:

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

6.python recursive

不用for有很多种方法,第一种最简单,python本身提供了一个算list所有元素总值的函数sum

def sum_ints(x):

if isinstance(x, int):

return x

if isinstance(x, list):

return sum(x)

第二种用reduce函数,这个函数在2.x时是内置函数,3.x被移动到functools模块中了。

def sum_ints(x):

if isinstance(x, int):

return x

if isinstance(x, list):

return reduce(lambda a,b : a+b , x)

这里的reduce其实就是很多函数型编程语言中的foldl函数

你问题中提到了recursive,那上面两种方法都投机了一点,用了python的函数而没有用递归

下面是递归的方法

def sum_ints(x):

if isinstance(x, int):

return x

if isinstance(x, list):

def sum_ints_rec(rx):

if rx:

return rx[0] + sum_ints_rec(rx[1:])

else:

return 0

return sum_ints_rec(x)

修改:

不好意思,只看了前面几行,没注意列表可能是多层的

修改一下应该就OK了

def sum_ints(x):

if isinstance(x, int):

return x

if isinstance(x, list):

if x:

if len(x) > 1:

return sum_ints(x[0]) + sum_ints(x[1:])

else:

return sum_ints(x[0])

else:

return 0

return 0

python加密狗

转载请注明出处编程代码网 » python加密狗(python中如何设计一个密码加密器)

资讯

python发邮件中文(python发送邮件,附件中文命名,怎么破)

阅读(11)

本文主要为您介绍python发邮件中文,内容包括python发送邮件,附件中文命名,怎么破,python发送邮件,附件中文命名,怎么破,如何用python发送email。不知道你是不是用的smtp来发的,我的发中文的附件没问题 #coding=utf-8Created on 2014-11-03@a

资讯

python字符串嵌套(python列表的嵌套该怎么理解)

阅读(10)

本文主要为您介绍python字符串嵌套,内容包括python列表的嵌套该怎么理解,求助python嵌套字典字符串格式化,python用字符串拼接一条语句,然后怎么执行。不对…这里[row[i] for row in matrix] for i in range(4)是一个整体,不然row[i] for

资讯

pythontelnet爆破(如何实现python和telnet通信)

阅读(16)

本文主要为您介绍pythontelnet爆破,内容包括如何实现python和telnet通信,怎样写python脚本控制telnet,python求大神帮助,如何判断是否telnet成功。Windows下开启Telnet服务(详见:与Win7防火墙无缝结合 Telnet功能测试)Windows 2000/XP/2003/V

资讯

pythondecode参数(python的instr.decode在哪个库)

阅读(11)

本文主要为您介绍pythondecode参数,内容包括python怎么使用decode,python怎么使用decode,pythondecode中文编码。问题: Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP"

资讯

python2.7.6升级(怎样从python2.7.6升级到2.7.12)

阅读(10)

本文主要为您介绍python2.7.6升级,内容包括怎样从python2.7.6升级到2.7.12,怎样把linux的python2.7.6升级到python2.7.12,怎样把linux的python2.7.6升级到python2.7.12。第一步:下载 # wget thon.org/ftp/python/2.7.12/Python-2.7.12.tar.x

资讯

python2.7版本(如何在Windows7上下载Python2.7?)

阅读(10)

本文主要为您介绍python2.7版本,内容包括如何在Windows7上下载Python2.7?,如何下载Wxpython2.7版本的python,64位系统,怎么下载?找不到啊,如何在Windows7安装Python2.7。说明:win7安装python2.7非常简单,只要到官方网站下载然后直接安装即可

资讯

pythonminint(pythonint什么意思)

阅读(10)

本文主要为您介绍pythonminint,内容包括pythonint什么意思,(n:int)>int:在python里是什么意思,python中center怎么用。int在python里是一个类,它是不可变数据类型中的一种,它的一些性质和字符串是一样的,是整型。1. Python int数字类型:整

资讯

pythonnumpy空数组(python怎么输入一个数组矩阵)

阅读(10)

本文主要为您介绍pythonnumpy空数组,内容包括python中数组为空怎么表示,python中数组为空怎么表示,python怎么判断numpy.ndarray是否空。下面是基于python3.4的数组矩阵输入方法:1.import numpy as np2.arr = [1,2,3,4,5,6,7,8

资讯

pythonweb应用程序(Python可以写Web应用程序么?)

阅读(11)

本文主要为您介绍pythonweb应用程序,内容包括Python可以写Web应用程序么?,Python可以写Web应用程序么?,Python做的web应用程序可以在别的电脑上用吗?。QUOTE:原帖由 准备早起的鸟 于 2007-10-27 22:57 发表 Python可以写Web应用程序么?好像行

资讯

python发邮件中文(python发送邮件,附件中文命名,怎么破)

阅读(11)

本文主要为您介绍python发邮件中文,内容包括python发送邮件,附件中文命名,怎么破,python发送邮件,附件中文命名,怎么破,如何用python发送email。不知道你是不是用的smtp来发的,我的发中文的附件没问题 #coding=utf-8Created on 2014-11-03@a

资讯

python字符串嵌套(python列表的嵌套该怎么理解)

阅读(10)

本文主要为您介绍python字符串嵌套,内容包括python列表的嵌套该怎么理解,求助python嵌套字典字符串格式化,python用字符串拼接一条语句,然后怎么执行。不对…这里[row[i] for row in matrix] for i in range(4)是一个整体,不然row[i] for

资讯

pythontelnet爆破(如何实现python和telnet通信)

阅读(16)

本文主要为您介绍pythontelnet爆破,内容包括如何实现python和telnet通信,怎样写python脚本控制telnet,python求大神帮助,如何判断是否telnet成功。Windows下开启Telnet服务(详见:与Win7防火墙无缝结合 Telnet功能测试)Windows 2000/XP/2003/V

资讯

pythondecode参数(python的instr.decode在哪个库)

阅读(11)

本文主要为您介绍pythondecode参数,内容包括python怎么使用decode,python怎么使用decode,pythondecode中文编码。问题: Dim SearchString, SearchChar, MyPos SearchString ="XXpXXpXXPXXP"