hash系列加密代码【python】

  • 众所周知hash不可逆,所以只能贴一些python加密的代码

  • 想要破解hash的方法无外乎就是爆破,更加精确的爆破。像什么彩虹表、撞库。当然,文末会放一些hash在线爆破的网站

MD5加密

  • md5加密结果分为32位大小写,以及16位的大小写,所谓16位,就是把32位的中间16位拿出来作为密文
import hashlib

# 待加密信息
str = 'Re__Point'

# 创建md5对象
hash = hashlib.md5()
hash.update(str.encode(encoding='utf-8'))

print('MD5 32位大写:' + hash.hexdigest().upper())
print('MD5 32位小写:' + hash.hexdigest())
print('MD5 16位大写:' + hash.hexdigest().upper()[8:24])
print('MD5 16位小写:' + hash.hexdigest()[8:24])
# MD5 32位大写:10003ED3EAC0EACE23903FE4E1C46AF9
# MD5 32位小写:10003ed3eac0eace23903fe4e1c46af9
# MD5 16位大写:EAC0EACE23903FE4
# MD5 16位小写:eac0eace23903fe4

对于sha系列来讲,后面的256等数字代表的就是密文的长度

sha1加密

import hashlib

# 待加密信息
m = 'Re__Point'

m = hashlib.sha1(m.encode())
print(m.hexdigest())
# 58b5726286c194aadedb8f5eb487e4e3d4481599

sha224加密

import hashlib

# 待加密信息
m = 'Re__Point'

m = hashlib.sha224(m.encode())
print(m.hexdigest())
# d373adb1ba1aaade68e703c996b775fa4d28fb7590c4df7288ee9bf0

sha256加密

import hashlib

# 待加密信息
m = 'Re__Point'

m = hashlib.sha256(m.encode())
print(m.hexdigest())
# c5a537c99cba9982a8e31cadd728fd47551bf313a2427b3f433118dfa4ff1524

sha384加密

import hashlib

# 待加密信息
m = 'Re__Point'

m = hashlib.sha384(m.encode())
print(m.hexdigest())
# 5b3a57d15a71dd103865ba3fbdcce505b1b23ec2da90c589c576a6fdfbf3875ee63bf67b8defe665923cf7b761391961

sha512加密

import hashlib

# 待加密信息
m = 'Re__Point'

m = hashlib.sha512(m.encode())
print(m.hexdigest())
# fd4098f22c84a218cadba35eb36215422e76c407fa31ff00ce81b0f6ab4a1e79ead775fa7b504e39d3d25f52e6ebec74601d870ae3a7e438dcd997e573f67478

解密网站

  • https://cmd5.com/
  • https://www.somd5.com/

你可能感兴趣的:(CTF,哈希算法,python,算法)