1.如何加密PYTHON程序
=' 'def num2alp(c): a = alp[c] return(a)def alp2num(d): if d != ' ': return((ord(d)-97)%37) else: return 36def envVigenere(key,plaintext): m = len(plaintext) n = len(key) etext = "" for i in range(m): p = plaintext[i] k = key[i%n] num1 = alp2num(p) num2 = alp2num(k) num3 = (num1+num2)%37 f = num2alp(num3) etext = etext + f return(etext)print(envVigenere('lemon','attack at dawn'))。
2.python语言支持pki公钥密码体系?
PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
X。509标准中,为了区别于权限管理基础设施(Privilege Management Infrastructure,简称PMI),将PKI定义为支持公开密钥管理并能支持认证、加密、完整性和可追究性服务的基础设施]。
这个概念与第一个概念相比,不仅仅叙述PKI能提供的安全服务,更强调PKI必须支持公开密钥的管理。也就是说,仅仅使用公钥技术还不能叫做PKI,还应该提供公开密钥的管理。
因为PMI仅仅使用公钥技术但并不管理公开密钥,所以,PMI就可以单独进行描述了而不至于跟公钥证书等概念混淆。 X。
509中从概念上分清PKI和PMI有利于标准的叙述。然而,由于PMI使用了公钥技术,PMI的使用和建立必须先有PKI的密钥管理支持。
也就是说,PMI不得不把自己与PKI绑定在一起。当我们把两者合二为一时,PMI PKI就完全落在X。
509标准定义的PKI范畴内。 根据X。
509的定义,PMI PKI仍旧可以叫做PKI,而PMI完全可以看成PKI的一个部分。
3.Python应该如何使用?
抓数据 要想做成词云图表,首先得有数据才行。
于是需要一点点的爬虫技巧。 基本思路为:抓包分析、加密信息处理、抓取热门评论信息 1.抓包分析 我们首先用浏览器打开网易云音乐的网页版,进入陈奕迅《我们》歌曲页面,可以看到下面有评论。
接着F12进入开发者控制台(审查元素)。 接下来就要做的是,找到歌曲评论对应的url,并分析验证其数据跟网页现实的数据是否吻合,步骤如下图: 通过歌曲id轻松找到评论所在的链接。
查看hreaders的信息,发现浏览器使用的是POST的方式进行的请求。 具体字段如上图,会发现表单中需要填两个数据,名称为params和encSecKey。
后面紧跟的是一大串字符,换几首歌会发现,每首歌的params和encSecKey都是不一样的,因此,这两个数据可能经过一个特定的算法进行加密过的。 服务器返回的和评论相关的数据为json格式的,里面含有非常丰富的信息(比如有关评论者的信息,评论日期,点赞数,评论内容等等),其中hotComments就是我们要找的热门评论,总共15条。
那我们的思路就很清晰了,只需要分析这个api并模拟发送请求,获取json进行解析就好了。 2.加密信息处理 然后经过我的测试,直接把浏览器上这俩数据拿过来就可以。
但是要想真正的解决这个加密处理,还需要有点加解密的只是存储。 我们在这里就只需要用我们这种偷懒的办法就可以完成需求了。
这里我就使用这么个临时的方法好了,而且对于不同的歌曲是可以重用的,待会我们可以验证一下。
4.Python常见文件如何操作?
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os。
path 模块中的路径名访问函数分隔basename() 去掉目录路径, 返回文件名dirname() 去掉文件名, 返回目录路径join() 将分离的各部分组合成一个路径名split() 返回 (dirname(), basename()) 元组splitdrive() 返回 (drivename, pathname) 元组splitext() 返回 (filename, extension) 元组 信息getatime() 返回最近访问时间getctime() 返回文件创建时间getmtime() 返回最近文件修改时间getsize() 返回文件大小(以字节为单位) 查询exists() 指定路径(文件或目录)是否存在isabs() 指定路径是否为绝对路径isdir() 指定路径是否存在且为一个目录isfile() 指定路径是否存在且为一个文件islink() 指定路径是否存在且为一个符号链接ismount() 指定路径是否存在且为一个挂载点samefile() 两个路径名是否指向同个文件 os。 path。
isdir(name):判断name是不是一个目录,name不是目录就返回false os。path。
isfile(name):判断name是不是一个文件,不存在name也返回false os。path。
exists(name):判断是否存在文件或目录name os。 path。
getsize(name):获得文件大小,如果name是目录返回0L os。path。
abspath(name):获得绝对路径os。path。
normpath(path):规范path字符串形式os。path。
split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在) os。 path。
splitext():分离文件名与扩展名os。path。
join(path,name):连接目录与文件名或目录os。path。
basename(path):返回文件名os。path。
dirname(path):返回文件路径 os模块中的文件操作:os 模块属性linesep 用于在文件中分隔行的字符串sep 用来分隔文件路径名的字符串pathsep 用于分隔文件路径的字符串curdir 当前工作目录的字符串名称pardir (当前工作目录的)父目录字符串名称 1。 重命名:os。
rename(old, new) 2。删除:os。
remove(file) 3。列出目录下的文件:os。
listdir(path) 4。获取当前工作目录:os。
getcwd() 5。改变工作目录:os。
chdir(newdir) 6。 创建多级目录:os。
makedirs(r"c:\python\test") 7。创建单个目录:os。
mkdir("test") 8。删除多个目录:os。
removedirs(r"c:\python") #删除所给路径最后一个目录下所有空目录。 9。
删除单个目录:os。rmdir("test") 10。
获取文件属性:os。stat(file) 11。
修改文件权限与时间戳:os。chmod(file) 12。
执行操作系统命令:os。system("dir") 13。
启动新进程:os。 exec(), os。
execvp() 14。在后台执行程序:osspawnv() 15。
终止当前进程:os。exit(), os。
_exit() 16。分离文件名:os。
path。split(r"c:\python\hello。
py") ——> ("c:\\python", "hello。 py") 17。
分离扩展名:os。path。
splitext(r"c:\python\hello。py") ——> ("c:\\python\\hello", "。
py") 18。获取路径名:os。
path。dirname(r"c:\python\hello。
py") ——> "c:\\python" 19。获取文件名:os。
path。basename(r"r:\python\hello。
py") ——> "hello。py" 20。
判断文件是否存在:os。path。
exists(r"c:\python\hello。 py") ——> True 21。
判断是否是绝对路径:os。path。
isabs(r"。\python\") ——> False 22。
判断是否是目录:os。path。
isdir(r"c:\python") ——> True 23。判断是否是文件:os。
path。isfile(r"c:\python\hello。
py") ——> True 24。判断是否是链接文件:os。
path。islink(r"c:\python\hello。
py") ——> False 25。获取文件大小:os。
path。 getsize(filename) 26。
*******:os。ismount("c:\\") ——> True 27。
搜索目录下的所有文件:os。path。
walk() shutil模块对文件的操作:1。复制单个文件:shultil。
copy(oldfile, newfle) 2。复制整个目录树:shultil。
copytree(r"。\setup", r"。
\backup") 3。删除整个目录树:shultil。
rmtree(r"。\backup") 临时文件的操作:1。
创建一个唯一的临时文件:tempfile。mktemp() ——> filename 2。
打开临时文件:tempfile。TemporaryFile() 内存文件(StringIO和cStringIO)操作[4。
StringIO] #cStringIO是StringIO模块的快速实现模块 1。 创建内存文件并写入初始数据:f = StringIO。
StringIO("Hello world!") 2。读入内存文件数据:print f。
read() #或print f。getvalue() ——> Hello world! 3。
想内存文件写入数据:f。 write("Good day!") 4。
关闭内存文件:f。close() ''' import os import os。
path import unittest import time #import pygame class (unittest。 TestCase):def __init__(self):"""constructor""" def test01(self):print os。
linesep print os。sep print os。
pathsep print os。 curdir print os。
pardir print os。getcwd() print 'unittest here' if __name__ == "__main__":t = () t。
test01() view plainprint? view plainprint? #读文件的写法:#读文本文件:input = open('data', 'r')#第二个参数是默认的,可以不加#读二进制文件:input = open('data', 'rb') #读取所有文件内容:open('xxoo。 。
5.python怎么爬取天眼查工商基本信息呢
CPU密集型代码(各种循环处理、计数等等),在这种情况下,由于计算工作多,ticks计数很快就会达到阈值,然后触发GIL的释放与再竞争(多个线程来回切换当然是需要消耗资源的),所以python下的多线程对CPU密集型代码并不友好。
天眼查数据获取分为两块,其中一块为大量索引信息获取,此方式天眼查没有做反爬机制,因此代码直接就可以获取,详细的代码及方式可参考知乎专栏的一篇文章第二块为企业详细信息获取,天眼查做了相应的反爬机制,需要研究穿插在几万行代码里的加密算法,获取cookie才能成功获取企业数据,且他们有专门的反爬虫工程师,想破解很难。
6.如何在python加密自己的密码
加密有很多种加密方式,常用的加密是md5加密,给你写个例子import hashlib def md5(str): m = hashlib.md5() m.update(str.encode("utf8")) print(m.hexdigest()) return m.hexdigest() def md5GBK(str1): m = hashlib.md5(str1.encode(encoding='gb2312')) print(m.hexdigest()) return m.hexdigest() md5('hello') md5GBK('你好')。
7.java 的cipher AES/CBC/PKCS5Padding 加密后,使用openssl的AES
2013/06/:-ord(s[-1])]
key = os你看一下这个例子吧。可以参考下面的地址:前面加上http;
cipher = AES.decode('hex'.new(key)
encrypted = cipher。me/blog/.urandom(16) # the length can be (16: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
unpad = lambda s : s[0;05/python-pycrypto-aes-ecb-pkcs-5/
# -*- coding: utf-8 -*-
from Crypto.Cipher import AES
import os
BS = AES.block_size
pad = lambda s.decrypt(encrypted, 24.encrypt(pad(text)).encode('hex')
print encrypted # will be something like '', 32)
text = 'to be encrypted'
decrypted = unpad(cipher,把句号改成点。
likang
8.python hashlib.sha512 为什么加密结果和shadow不一样
python的话直接使用crypt就行计算的时候要加上salt值。
cat /etc/shadow | greb root得到密文。 密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文密文示例: $6$D0xsORq3b7GGsbYv$7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/ $id$salt$encrypted采用方法 盐值 加密密文$6$D0xsORq3b7GGsbYv #这一段就是盐值,在加密的时候连同前面的ID一起加密 import cryptprint crypt.crpyt("password","$6$D0xsORq3b7GGsbYv")就可以得到shadow中的密文了。
其实shadow中的密文并不是直接由sha512得出的,还有一些其他操作,例如使用base64加密了salt和hash,可以看下这里man page。
9.python模拟登录的实现,问题请帮忙
首先
你的postData中
user和pass,是明文还是密文,一般来说user可能是明文,shia1加密,md5加密或者其他形式的加密,如果你登陆帐号名写死的话,你用抓包抓来的数据可以直接带上去
而pass和user一样,同杨可以用抓来的数据带上去,但是还有一种可能,就是pass的加密结果是带有时间戳在里面的,这样的话你就必须知道加密形式,否则的话……
然后你最后一个参数tmp,后面的数字是随即数字或者有什么具体含义,改变的话会有什么影响就要你自己去测试了