测试程序
import hashlib
print dir(hashlib)
print hashlib.__all__
print hashlib.__file__
print hashlib.__get_builtin_constructor
print hashlib.__name__
print hashlib.__package__
print hashlib._hashlib
print hashlib.algorithms
print hashlib.new
print hashlib.md5
print '-' * 25, 'MD5加密', '-' * 25
md5 = hashlib.md5()
md5.update("JGood is a handsome boy")
print md5.hexdigest()
print 'block_size:', md5.block_size
print 'digest_size:', md5.digest_size
print '-' * 25, '更简洁的语法', '-' * 25
print 'md5: ' + hashlib.new("md5", "JGood is a handsome boy").hexdigest()
print 'sha1: ' + hashlib.new("sha1", "JGood is a handsome boy").hexdigest()
print 'sha224: ' + hashlib.new("sha224", "JGood is a handsome boy").hexdigest()
print 'sha384: ' + hashlib.new("sha384", "JGood is a handsome boy").hexdigest()
print 'sha512: ' + hashlib.new("sha512", "JGood is a handsome boy").hexdigest()
输出结果
['__all__', '__builtins__', '__doc__', '__file__', '__get_builtin_constructor', '__name__', '__package__', '_hashlib', 'algorithms', 'md5', 'new', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512']
('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'new', 'algorithms')
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.pyc
<function __get_builtin_constructor at 0x1081f7410>
hashlib
None
<module '_hashlib' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_hashlib.so'>
('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512')
<function __hash_new at 0x1081f7578>
<built-in function openssl_md5>
------------------------- MD5加密 -------------------------
2ad1436dca202e4cdcded817c793197f
block_size: 64
digest_size: 16
------------------------- 更简洁的语法 -------------------------
md5: 2ad1436dca202e4cdcded817c793197f
sha1: dd811b2ab6b8f972a7eb05ff94d860398fd921b6
sha224: 1354c1316eceedbb7d8de1606fac97d4a26b874761961319a7e0d48e
sha384: f652c98c32177403a780dd711d31fb61137d936c98bee8798d21446c29a4bb8a5ca7aaa1cece28fd17183d1f5d71ce40
sha512: d139b9e30b0fff7f87a34bc7eb55893222950bc7955bb3fde2d9c8a9a6362e2ef00466d39bf95df24f1fdcc934cba780eefce027871aeaa38209d3b86d9d8857
>>> h