MD5加密和解密
# 加密
def enmd5_msg(msg):
import hashlib
hash_msg= hashlib.md5(bytes(msg,encoding='utf-8'))
en_msg = hash_msg.hexdigest()
print(en_msg)
关于MD5解密:
MD5是一种不可逆的加密方法,解密只能通过穷举法。
常用的解密方法是寻找在线解密MD5的网站。
Base64编码和解码
# 编码
def base64_msg(msg):
import base64
en_bace = base64.b64encode(bytes(msg, encoding='utf-8'))
print(en_bace) # b'aGVsbG8h'
# 解码
def de_base_msg(enmsg):
import base64
de_base = base64.b64decode(bytes(enmsg, encoding='utf-8'))
print(de_base) # b'hello!'
if __name__ == '__main__':
msg = 'hello!'
msg1 = 'aGVsbG8h!'
base64_msg(msg)
de_base_msg(msg1)
RSA加密和解密
import base64
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as PKCS1_cipher
# 加密
def en_data(msg):
public_key = '*****' # 公钥
rsa_key = RSA.import_key(base64.b64decode(public_key))
cip = PKCS1_cipher.new(rsa_key) # 生成一个加密类
rsa_pass = base64.b64decode(cip.encrypt(msg.encode())) # 对数据进行加密
return rsa_pass.decode() # 对文本进行解码
# 解密
def decrypt_data(encrypt_msg):
public_key = '*****' # 公钥
rsa_key = RSA.import_key(base64.b64decode(public_key))
cipher = PKCS1_cipher.new(rsa_key) # 生成一个解密的类
back_text = cipher.decrypt(base64.b64decode(encrypt_msg), 0) # 进行解密
return back_text.decode() # 对文本内容进行解码
一般进行js逆向时,js中会写明其公钥
js中的rsa加密写法:
function run(){
setPublickey('public_key')
}