python 使用md5,sha1或sha256快速散列一些文本。适用于管道输入。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用md5,sha1或sha256快速散列一些文本。适用于管道输入。相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python2.7
# 
# Install this in your PATH as `pyhash`.
# If you want more cryptographic hashing functions, try the PassLib module.
#
# Don't use this script for anything security related!

import hashlib

algorithms = dict(
  md5 = lambda s: hashlib.md5(s).hexdigest(),
  sha1 = lambda s: hashlib.sha1(s).hexdigest(),
  sha256 = lambda s: hashlib.sha256(s).hexdigest(),
)


def usage():
  print 'Usage:', sys.argv[0], '<algorithm> [text to hash]'
  print 'Available algorithms:'
  for algo in algorithms:
    print '\t', algo


if __name__ == '__main__':

  import sys

  try:
    algo = algorithms[sys.argv[1]]
  except (KeyError, IndexError):
    usage()
    sys.exit(1)

  if len(sys.argv) > 2:
    text = sys.argv[2]
  else:
    text = sys.stdin.read()

  print algo(text)

以上是关于python 使用md5,sha1或sha256快速散列一些文本。适用于管道输入。的主要内容,如果未能解决你的问题,请参考以下文章

Python计算校验文件的MD5SHA1SHA256和CRC32

MD5,sha1,sha256分别输出多少位啊?

MD5、sha1、sha256分别输出多少位?

SHA1 vs md5 vs SHA256:哪个用于 PHP 登录?

用PowerShell的命令行检查文件的校验MD5 SHA1 SHA256

python基础整理笔记