『壹』 python3parser在什么包

pdb 调试复
traceback 调试
pprint 漂亮的输出
logging 日志
threading和制multiprocessing 多线程
urllib/urllib2/httplib http库,httplib底层一点,推荐第三方的库requests
os/sys 系统,环境相关
Queue 队列
pickle/cPickle 序列化工具
hashlib md5, sha等hash算法
cvs

『贰』 Python hashlib库的问题

用到hashlib模块,那你使用的应该是Python3.X。你这个问题仅牵扯到文件的读写操作和MD5加密函数的调用。你把MD5加密过程封装成函数,参数就是要加密的字符串,返回加密后的结果。对要加密的字符串进行逐个读取,传递给加密函数处理,然后把返回结果写到result文档中。

『叁』 python的哈希值如何用java编写

MessageDigest md = MessageDigest.getInstance("MD5");
FileInputStream fis = new FileInputStream(outputFile);
byte[] dataBytes = new byte[1024];
int nread = 0;
while ((nread = fis.read(dataBytes)) != -1) {
md.update(dataBytes, 0, nread);
}
byte[] mdbytes = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++) {
sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));
}
String output_md5 = sb.toString();

『肆』 Python 2.7的标准库hashlib中包含的hash算法包括哪些。

hashlib你.然后TAB其中算法就出现了,最常用的是md5()

『伍』 如何使用Python 3的两个库来加解密字符串

哈希
如果需要用到安全哈希算法或是消息摘要算法,那么你可以使用标准库中的 hashlib 模块。这个模块包含了符合 FIPS(美国联邦信息处理标准)的安全哈希算法,包括 SHA1,SHA224,SHA256,SHA384,SHA512 以及 RSA 的 MD5 算法。Python 也支持 adler32 以及 crc32 哈希函数,不过它们在 zlib 模块中。
哈希的一个最常见的用法是,存储密码的哈希值而非密码本身。当然了,使用的哈希函数需要稳健一点,否则容易被破解。另一个常见的用法是,计算一个文件的哈希值,然后将这个文件和它的哈希值分别发送。接收到文件的人可以计算文件的哈希值,检验是否与接受到的哈希值相符。如果两者相符,就说明文件在传送的过程中未经篡改。
让我们试着创建一个 md5 哈希:
>>> import hashlib >>> md5 = hashlib.md5() >>> md5.update('Python rocks!') Traceback (most recent call last): File "<pyshell#5>", line 1, in <mole> md5.update('Python rocks!') TypeError: Unicode-objects must be encoded before hashing >>> md5.update(b'Python rocks!') >>> md5.digest() b'\x14\x82\xec\x1b#d\xf6N}\x16*+[\x16\xf4w'

让我们花点时间一行一行来讲解。首先,我们导入 hashlib ,然后创建一个 md5 哈希对象的实例。接着,我们向这个实例中添加一个字符串后,却得到了报错信息。原来,计算 md5 哈希时,需要使用字节形式的字符串而非普通字符串。正确添加字符串后,我们调用它的 digest 函数来得到哈希值。如果你想要十六进制的哈希值,也可以用以下方法:
>>> md5.hexdigest() ''

实际上,有一种精简的方法来创建哈希,下面我们看一下用这种方法创建一个 sha1 哈希:
>>> sha = hashlib.sha1(b'Hello Python').hexdigest() >>> sha ''

可以看到,我们可以同时创建一个哈希实例并且调用其 digest 函数。然后,我们打印出这个哈希值看一下。这里我使用 sha1 哈希函数作为例子,但它不是特别安全,读者可以随意尝试其他的哈希函数。
密钥导出
Python 的标准库对密钥导出支持较弱。实际上,hashlib 函数库提供的唯一方法就是 pbkdf2_hmac 函数。它是 PKCS#5 的基于口令的第二个密钥导出函数,并使用 HMAC 作为伪随机函数。因为它支持“加盐(salt)”和迭代操作,你可以使用类似的方法来哈希你的密码。例如,如果你打算使用 SHA-256 加密方法,你将需要至少 16 个字节的“盐”,以及最少 100000 次的迭代操作。
简单来说,“盐”就是随机的数据,被用来加入到哈希的过程中,以加大破解的难度。这基本可以保护你的密码免受字典和彩虹表(rainbow table)的攻击。
让我们看一个简单的例子:
>>> import binascii >>> dk = hashlib.pbkdf2_hmac(hash_name='sha256', password=b'bad_password34', salt=b'bad_salt', iterations=100000) >>> binascii.hexlify(dk) b''

这里,我们用 SHA256 对一个密码进行哈希,使用了一个糟糕的盐,但经过了 100000 次迭代操作。当然,SHA 实际上并不被推荐用来创建密码的密钥。你应该使用类似 scrypt 的算法来替代。另一个不错的选择是使用一个叫 bcrypt 的第三方库,它是被专门设计出来哈希密码的。

『陆』 python hashlib md5怎么获取秘钥

hashlib里因为会有类似Crypto的数字计算,如果纯用python做的话,速度很慢,达不到要求,

『柒』 为什么在python3.7上help(hashlib)就报错,谁知道为什么

一般有两点:
1,hashlib模块是一个包,包不可以用help()来搜索
2,在这个模块中,专门限制了help方法
但在这种情况下,显然是第一种可能性大一些

『捌』 如何找到Python的hashlib的实现

hashlib里因为会有类似Crypto的数字计算,如果纯用python做的话,速度很慢,达不到要求,因回此这个具体的实现答是放在_hashlib.pyd,对于Python2.7, 路径位于C:\Python27\DLLs_hashlib.pyd,采用C实现的这个动态库里
import hashlib
print help(hashlib.md5)
import _hashlib
print help(_hashlib.openssl_md5)
# 生成的MD5值一样
S = "this is a demo for md5"
assert hashlib.md5(S).hexdigest() == _hashlib.openssl_md5(S).hexdigest()

『玖』 python hashlib.sha512 为什么加密结果和shadow不一样

python的话直接使用crypt就行计算的时候要加上salt值。

cat /etc/shadow | greb root

得到密文。密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文

密文示例:
$6$D0xsORq3b7GGsbYv$7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/

$id$salt$encrypted
采用方法盐值加密密文

$6$D0xsORq3b7GGsbYv #这一段就是盐值,在加密的时候连同前面的ID一起加密

importcrypt

printcrypt.crpyt("password","$6$D0xsORq3b7GGsbYv")

就可以得到shadow中的密文了。

其实shadow中的密文并不是直接由sha512得出的,还有一些其他操作,例如使用base64加密了salt和hash,可以看下这里man page